4 Replies Latest reply on Jun 24, 2011 3:01 AM by asoldano

    Same application deployed twice gives "2 counts of IllegalAnnotationExceptions" initialization error

    mnsharif

      I have two applications running under my JBoss 5.1 (using JDK6) with names appA1.war and appZ.war. Both of these web-applications are clients of web services published by external parties. I am using myeclipse to generate client side stubs etc. I am using Metro1.1 jars in my applications, i.e. both of these applications have following jars (apart from others) in WEB-INF/lib folder:

      -- webservices-api.jar

      -- webservices-extra.jar

      -- webservices-extra-api.jar

      -- webservices-rt.jar

      Everything works file up till here. I can deploy and consume external web services in both of my applications.

       

      Then i deployed a copy of appA1.war as appA2.war with only a few changes (different release with new features etc.). The _deployment_ of all three web-applications does not introduce any problem. The consumtpion of external web service as client works perfectly on appA1.war application. However, when i try to consuming the external web service at appA2.war, the following exception occurs:

       

       

      java.lang.ExceptionInInitializerError

              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

              at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

              at java.lang.Class.newInstance0(Class.java:355)

              ...

              ...edited for brevity

              ...

              at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)

              at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)

              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

              at java.lang.Thread.run(Thread.java:619)

      Caused by: javax.xml.ws.WebServiceException: Error creating JAXBContext for W3CEndpointReference.

              at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:222)

              at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:218)

              at java.security.AccessController.doPrivileged(Native Method)

              at com.sun.xml.ws.spi.ProviderImpl.getEPRJaxbContext(ProviderImpl.java:217)

              at com.sun.xml.ws.spi.ProviderImpl.<clinit>(ProviderImpl.java:88)

              ... 40 more

      Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions

       

      Two classes have the same XML type name "address". Use @XmlType.name and @XmlType.namespace to assign different names to them.

              this problem is related to the following location:

                      at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address

                      at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Address com.sun.xml.ws.developer.MemberSubmissionEndpointReference.addr

                      at com.sun.xml.ws.developer.MemberSubmissionEndpointReference

              this problem is related to the following location:

                      at javax.xml.ws.wsaddressing.W3CEndpointReference$Address

                      at private javax.xml.ws.wsaddressing.W3CEndpointReference$Address javax.xml.ws.wsaddressing.W3CEndpointReference.address

                      at javax.xml.ws.wsaddressing.W3CEndpointReference

      Two classes have the same XML type name "elements". Use @XmlType.name and @XmlType.namespace to assign different names to them.

              this problem is related to the following location:

                      at com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements

                      at public com.sun.xml.ws.developer.MemberSubmissionEndpointReference$Elements com.sun.xml.ws.developer.MemberSubmissionEndpointReference.referenceProperties

                      at com.sun.xml.ws.developer.MemberSubmissionEndpointReference

              this problem is related to the following location:

                      at javax.xml.ws.wsaddressing.W3CEndpointReference$Elements

                      at private javax.xml.ws.wsaddressing.W3CEndpointReference$Elements javax.xml.ws.wsaddressing.W3CEndpointReference.referenceParameters

                      at javax.xml.ws.wsaddressing.W3CEndpointReference

       

       

              at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:102)

              at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:438)

              at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:286)

              at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)

              at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)

              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:211)

              at javax.xml.bind.ContextFinder.find(ContextFinder.java:372)

              at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)

              at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)

              at com.sun.xml.ws.spi.ProviderImpl$2.run(ProviderImpl.java:220)

              ... 44 more

       

       

       

      I have looked around a little and have found following links partially useful. However, i have not been able to find a workaround and any help in this regard will be much appreciated.

       

      http://stackoverflow.com/questions/4254334/illegalannotationexception-two-classes-have-the-same-xml-type-name

      http://stackoverflow.com/questions/4991394/two-classes-have-the-same-xml-type-name

      http://community.jboss.org/thread/103648

      http://forums.netbeans.org/post-88330.html

      http://community.jboss.org/message/250396

      http://community.jboss.org/thread/103026