5 Replies Latest reply on Apr 13, 2005 8:24 AM by Thomas Diesler

    JBossWS client in WAR uses different version of Axis

    Brian Sam-Bodden Newbie

      I have an EJB based application that exposes a set of services as RPC-style web services. I building a rich client front end using Laszlo. Laszlo is deployed as an exploded war and it ships with its own version of Axis. My web services work fine but of course on the Laszlo side of things I'm getting all kinds of NoSuchMethodExceptions since the forked Axis in axis-ws4ee.jar is loaded first. I've played with the settings in the jbossweb-tomcat50.sar jboss-service.xml particularly "Java2ClassLoadingCompliance" and "UseJBossWebLoader". I've also played with adding a jboss-web.xml to the WEB-INF of the exploded Laszlo deployment to no avail. My attempt to a jboss-web.xml to isolate classloaders looks like

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
      "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
      <jboss-web>
      <!-- Isolate the lazslo classes from other deployments -->
      <class-loading java2ClassLoadingCompliance="false">
      <loader-repository>
      lps-servlet:sar=lps-3.0b2-servlet.war
      <loader-repository-config>
      java2ParentDelegation=false
      </loader-repository-config>
      </loader-repository>
      </class-loading>
      </jboss-web>

      So, how do I have my Laszlo WAR use the Axis version in its WEB-INF/lib directory? I'm I missing something with this whole Unified Class Loader architecture?

      Tweaking the tomcat service seems to break other things while adding the jboss-web.xml descriptor gives me following error during deployment. I've seen this error in the Forum but no definitive explanation of what the cause is...

      2005-03-27 16:36:42,281 ERROR [org.jboss.web.WebModule] Starting failed jboss.web.deployment:id=1306057360,war=lps-3.0b2-servlet.war
      org.jboss.deployment.DeploymentException: Error during deploy; - nested throwable: (ReflectionException: Cannot find setter method setDocBase null Cause: java.lang.NoSuchMethodException: org.apache.commons.modeler.BaseModelMBean.setDocBase(java.lang.String))
      at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:379)
      at org.jboss.web.WebModule.startModule(WebModule.java:62)
      at org.jboss.web.WebModule.startService(WebModule.java:40)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
      ...

      Any help would be appreaciated.

      Thanks,
      Brian