2 Replies Latest reply on Oct 8, 2007 3:12 PM by wiberto

    Difference in an @Asynchronous method

    wiberto

      I'm seeing a weird situation that I really don't understand. I don't think it's really a Seam issue, but maybe someone can help me understand what's going on.

      I have an XFire based web service client that lives in my EJB project. I call that web service code from my authenticator class and it works like a charm.

      Now I have an asynchronous method using quartz (@Asynchornous) and when that method tries to call the same web service with the same arguments I get the following error:

      Caused by: javax.xml.bind.JAXBException: "com.x.webservices.securityclient" doesnt contain ObjectFactory.class or jaxb.index
       at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:119)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
       at javax.xml.bind.ContextFinder.find(ContextFinder.java:286)
       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:244)
       at org.codehaus.xfire.jaxb2.JaxbType.getJAXBContext(JaxbType.java:306)
       at org.codehaus.xfire.jaxb2.JaxbType.writeObject(JaxbType.java:230)
      


      I tried chaging the async method to stateless from stateful as well as making the dispatcher method a JavaBean instead of a SFSB, but I get the same result. I also tried adding the jaxb.index file it mentioned and the same thing. The ObjectFactory class is there, and I can instantiate it manually, so I know it's in the classpath.

      Any help is greatly appreciated.

      Thanks,

      Jose