1 Reply Latest reply on Sep 4, 2006 3:51 PM by doug.palmer

    Class loader problem!

    doug.palmer

      Hi

      I'm running into a class loading problem with a service that I'm developing. The service builds war files from data in an xml document and then deploys asks the main deployer to deploy the war file.

      The following works in the create method my deployment MBean:

      ....code to generate warfile....
      mainDeployer.deploy(warFile.getPath());
      


      However, this does not establish a connection between the original xml deployment and the war file deployment. So I tried the following:

      ....code to generate warfile....
      DeploymentInfo subDi = new DeploymentInfo(new URL("file://" + outFile.getPath()), di, server);
      mainDeployer.deploy(subDi);
      


      Now, when I try to connect to the newly create web service I get the following exception:

      java.lang.ClassCastException: decs2.pi.ProcessInitiatorImpl
       at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1055)
       at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:757)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
       at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       at java.lang.Thread.run(Thread.java:613)
      


      Where decs2.pi.ProcessInitiatorImpl is the code the implements my service. The class file for decs2.pi.ProcessInitiatorImpl resides in the jar file with my MBean.

      Does anyone know how to solve this class loading issue?

      Regards
      Doug

        • 1. Re: Class loader problem!
          doug.palmer

          Please ignore this; the JBossWS deployer isn't being called when the war file is deployed. I assume this is where the class loading problem is coming from. My question belong in the JBossWS forum and needs to be rephrased as "how do I deploy a JBossWS war file as a subdeployment?" I will repost there.

          Regards
          Doug