JBoss Community

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

created by nafees sharif in JBoss Web Services - View the full discussion

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

Reply to this message by going to Community

Start a new discussion in JBoss Web Services at Community