You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by ch...@swiftdsl.com.au on 2003/10/03 04:20:47 UTC

axis deployment order problem

Hi Everybody

We are facing a stange problem when trying to deploy webservices ...

The application server used is jboss-3.2.1_tomcat-4.1.24, default server,
no configuration changes but one some additional logging and a customer
login module in the login-config.xml.

Initially we deployed following applications into jboss in the following
order:
1) axis.war
2) datasource-ds.xml
3) destination-service.xml - an additional jms queue
4) project.ear - an ejb layer and some business stuff
5) two additional web applications
6) some webservices using wsdd descriptor files - they expose some of the
beans from the ejb layer to the outside world.

The axis.war has only the log4j.jar file removed from the original
web-inf/lib directory of the axis-1_1 release (Java2ClassLoadingCompliance
set to true).

At one point in time we tried to use an external third party webservice
from the project.ear (basically a search page). We generated the client
stubs from the wsdl file, put everything into the ear together with the
requried axis libraries. The third party libs in the ear are referenced
using the application.xml
project.ear:
  ejb1.jar
  ejb2.jar
  lib/axis.jar
  lib/commons-discovery.jar
  lib/commons-logging.jar
  lib/jaxrpc.jar
  lib/saaj.jar
  lib/wsdl4j.jar
  lib/some more third party libs

Now things got really wired: Deployment of the webservices failed with the
exception stack trace below. We tried a lot but finally what 'helped' was
to change the deployment order. Deploying the ear file before the axis.war
seems to make it work. The webservices are getting deployed again.

The big question of course is: Why should the order of deployment matter?
There are no dependencies between these two applications at that point in
time.

While trying to 'fix' out problem we also had a look into the unified
classloader debug output of jboss. Initially we thought we are facing some
kind of classloader problem with the two axis.jar files - one in axis.war
and one in the project.ear - put into jboss. We had an intermediate
'solution' for the initial deployment problem where we could deploy our
application successfully, but trying to access one of the webservices'
wsdl files always resulted in an NoClassDefFoundError for the SOAPFault
class. The class causing the exception got loaded by the project.ear
classloader - why not by the axis.war classloader ... and the only
solution at that point in time was to put the wsdl4j.jar file into jboss
startup classpath.

Of course I would have liked to attach all sources and jars to the email
.... but as usual it is not possible ... I tried to strip the problem down
to something 'reasonably' sized, but so far I had no time - as usual ...
so sorry for that. Otherwise all help, hints or comments will be really
appriciated.

If you need more informtion, or if you want me to test something or to
change some configuration, please let me know.

Regards & Thanks in advance
Alex

10:04:57,250 ERROR [Engine] StandardWrapperValve[AxisServlet]:
Servlet.service()
 for servlet AxisServlet threw exception
javax.servlet.ServletException: Servlet execution threw an exception
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:256)
        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:
2415)
        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:171)
        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:
509)
        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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:619)
        at java.lang.Thread.run(Thread.java:536)
10:04:57,250 ERROR [Engine] ----- Root Cause -----
java.lang.VerifyError: (class: org/apache/axis/server/AxisServer, method:
getCli
entEngine signature: ()Lorg/apache/axis/AxisEngine;) Bad type in
putfield/putsta
tic
        at
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletB
ase.java:221)
        at
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletB
ase.java:187)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:78
5)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:339)
        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:256)
        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:
2415)
        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:171)
        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:
509)
        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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:619)
        at java.lang.Thread.run(Thread.java:536)