axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Valerio" <mvale...@armadacentral.com>
Subject RE: two axis-ized services in one servlet container
Date Mon, 27 Sep 2004 20:16:19 GMT
That did the trick...  Thanks.

-----Original Message-----
From: Brian H. Ward [mailto:glyphrider@gmail.com]
Sent: Monday, September 27, 2004 2:46 PM
To: axis-user@ws.apache.org
Subject: Re: two axis-ized services in one servlet container


Try moving the axis common code up to the server level instead of
buring it into both WAR files.  Java can have issues when ClassLoaders
are used to insulate various "contexts" within a single JVM process.

We see [have seen] this a lot in WebSphere, though not explicitly with
Axis.  It can manifect itself as LinkageErrors, ClassCastExceptions,
and even IllegalAccessExceptions.

In general, when ClassLoaders are involved (in J2EE containers),
always keep one an only one copy of common code in a JAR that is
accessible to all clients (one level higher than where it is used). 
This means that EJB interfaces used by both the EJB bean and by
classes in a WAR file must be placed in a "shared" JAR file that is
mutually accessible -- and copies don't work.  Anything that spans
your ?AR file must be installed at the server level (common\lib in
Tomcat, I believe).

Hope this helps....

--- bhw

On Mon, 27 Sep 2004 14:34:26 -0400, Matt Valerio
<mvalerio@armadacentral.com> wrote:
> Anyone have any ideas or suggestions with this???   Bueller????  Bueller????
> 
> 
> 
> -----Original Message-----
> From: Matt Valerio
> Sent: Friday, September 24, 2004 11:02 AM
> To: Axis-User (E-mail)
> Subject: two axis-ized services in one servlet container
> 
> I have configured two axis enabled webservices in one servlet container (tomcat 5.0)
and I'm having some problems.  I'm using Axis 1.1 and have created these two services as specified
in the "Advanced Installation" section of the Axis installation instructions.  For the sake
of explaining my problem say I have two services configured in on servlet container - Service1
and Service2.  I can browse to the services context of Service1 and it works but then I browse
the services context of Service2 and it doesn't work.  I then restart tomcat and browse to
Service2 first and it works but then Service 1 doesn't work.  I checked the tomcat logs and
found the error attached below.  I'm relatively new to axis so hopefully it is some bonehead
newby problem.  Any help with this issue would be greatly appreciated.
> 
> 2004-09-24 08:46:08 StandardWrapperValve[AxisServlet]: Servlet.service() for servlet
AxisServlet threw exception
> java.lang.LinkageError: loader constraints violated when linking javax/xml/namespace/QName
class
>         at org.apache.axis.encoding.TypeMappingRegistryImpl.<init>(TypeMappingRegistryImpl.java:180)
>         at org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:510)
>         at org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:104)
>         at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:209)
>         at org.apache.axis.AxisEngine.init(AxisEngine.java:187)
>         at org.apache.axis.AxisEngine.<init>(AxisEngine.java:172)
>         at org.apache.axis.server.AxisServer.<init>(AxisServer.java:126)
>         at org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:148)
>         at org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:112)
>         at org.apache.axis.server.AxisServer.getServer(AxisServer.java:111)
>         at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:221)
>         at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:187)
>         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
>         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
>         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
>         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
>         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
>         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
>         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
>         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
>         at java.lang.Thread.run(Thread.java:534)
>

Mime
View raw message