NoClassDefFoundError
yys2000 Feb 20, 2003 12:21 PMhi:
I deployed NodeAService to JBoss.Net, the WSDD file:
-------------------------------------------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
xmlns:nodea="http://www.simpleprotocol.org/NodeA"
xmlns:nodeb="http://www.simpleprotocol.org/NodeB"
xmlns:nodec="http://www.simpleprotocol.org/NodeC"
xmlns:reg="http://www.simpleprotocol.org/Registry">
http://www.simpleprotocol.org/NodeA
<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * -->
-------------------------------------------------------
When I used TestClient to send request to the service,
I got the wrong message from JBoss:
--------------------------------------------------
12:31:46,467 ERROR [AxisServlet] Exception:
AxisFault
faultCode: {http://xml.apache.org/axis/}Server.userException
faultString: java.lang.reflect.InvocationTargetException
faultActor: null
faultDetail:
stackTrace: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j
ava:372)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:292)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
276)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437
)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:70
1)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
469)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1040)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1151)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.NoClassDefFoundError: org/apache/axis/AxisEngine
at NodeAService.RequestToB(NodeAService.java:226)
... 46 more
--------------------------------------------------
The reason is that RequestToB method of NodeAService
will call the class SendToB, but the class SendToB can't
be found by AxisEngine.
I have put all class files to ./deploy/axis.war/WEB-INF/classes
and also inlude a class jar file to my classpath.
But it still dosen't work.
So how can I let AxisEngine running in JBoss find my
class SendToB ?
Need any configuration ? wsdd?
Thanks!
David :)