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

    Trailblazer classpath issue

    Donald Lyon Newbie

      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:

      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
          Tom Fennelly Master

          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".


          • 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
              Donald Lyon Newbie

              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.


              • 4. Re: Trailblazer classpath issue
                Donald Lyon Newbie

                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:

                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
                  Donald Lyon Newbie

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

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

                  • 6. Re: Trailblazer classpath issue
                    Kurt Stam Master

                    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.