6 Replies Latest reply on Mar 2, 2007 11:08 AM by kurtstam

    Trailblazer classpath issue

    donlyon

      I'm trying to run the loan broker and get the following:

      java.lang.NoClassDefFoundError: javax/xml/namespace/QName
      at org.apache.axis.deployment.wsdd.WSDDConstants.(WSDDConstants.java:75)
      at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
      at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
      at org.apache.axis.AxisEngine.(AxisEngine.java:156)
      at org.apache.axis.client.AxisClient.(AxisClient.java:52)
      at org.apache.axis.client.Service.getAxisClient(Service.java:104)
      at org.apache.axis.client.Service.(Service.java:113)
      at org.jboss.soa.esb.samples.trailblazer.web.generated.LoanBrokerWSServiceLocator.(LoanBrokerWSServiceLocator.java:35)
      ...

      I can see I have the QName class in a few jars:
      jboss-4.0.5.GA/server/default/deploy/jbossws14.sar/stax-api-1.0.jar
      jboss-4.0.5.GA/lib/namespace.jar
      jboss-4.0.5.GA/lib/endorsed/xml-apis.jar

      Has anyone else seen this or did I just mess something up in my environment?

      I started with the default server config and manually added the ejb3 support if that makes any difference.

        • 1. Re: Trailblazer classpath issue
          tfennelly

          Hi there.

          Can you confirm that you've deployed the core ESB services to you AS as per the Getting Started Guide? If you look in the guide... Chapter 1 - "Deploy to JBossAS".

          Tom.

          • 2. Re: Trailblazer classpath issue

            Just to isolate that you didn't miss anything when adding EJB3 support manually, could you download the JBoss 4.0.5 JEMS installer, then install the "EJB3" config option. Then follow the instructions in the Trailblazer guide in the docs directory. Let us know how that test works.

            • 3. Re: Trailblazer classpath issue
              donlyon

              I installed the bundled jboss and was able to get the trailblazer running fine.

              I'll try your suggestions to see if I missed something or have some other conflict in one of my other deployed applications.

              Thanks

              • 4. Re: Trailblazer classpath issue
                donlyon

                ok, I've narrowed it down. For my jboss config, we're using a unified class loader as configured in jboss-4.0.5.GA/server/default/jbossweb-tomcat55.sar/META-INF/jboss-service.xml:
                true

                If I change that to false, there's no longer a class conflict from somewhere else and the app works fine. My application, on the other hand, not so good...

                • 5. Re: Trailblazer classpath issue
                  donlyon

                  oops, didn't quote the xml snippet. Here's the setting:

                  <attribute name="UseJBossWebLoader">false</attribute>
                  


                  • 6. Re: Trailblazer classpath issue
                    kurtstam

                    The issue is that you need to get that Qname class on the same classloader as the class that is using it. For the sar deployment we therefor moved all classes that used this class into the unscoped jboss-depencies.sar.

                    Our loanbroker.war is scoped too (to shield us from the jaxr and scout jars, since we have our own versions). I guess by using the unified classloader we somehow end up in a situation where Qname is loaded on a different classloader and thus cannot be found.

                    So.. now that you have happily run the trailblazer, do you still need the loanbroker.war archive, since this is there just for the demo? The thing is that the reasons for the scoping will go away soon, so that will solve this issue.

                    --Kurt