In my web-application, I am contacting a Web-Service (using JAX-WS) but I get the following error:
java.lang.ExceptionInInitializerError
at com.sun.xml.ws.message.AttachmentUnmarshallerImpl.<clinit>(AttachmentUnmarshallerImpl.java:55)
at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:500)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:242)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:210)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:103)
...
Caused by: java.lang.IllegalArgumentException: com.sun.xml.internal.messaging.saaj.soap.LocalStrings != com.sun.xml.messaging.saaj.soap.LocalStrings
at java.util.logging.Logger.getLogger(Logger.java:314)
at com.sun.xml.messaging.saaj.soap.AttachmentPartImpl.<clinit>(AttachmentPartImpl.java:71)
... 189 more
This happen on my machine, when I run my application in Eclipse...
What can be the source of this error?
I was suspecting this Oracle Java bug, but I am running my web-application in Tomcat 5.5 and Java 1.6.0_18, as shown in my System.properties
:
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jdk1.6.0_18\jre\bin
java.vm.version = 16.0-b13
java.runtime.version = 1.6.0_18-b07
java.version = 1.6.0_18
Problem solved. This was due to a third-party dependency, saaj-impl-1.3.jar
which was slightly different in my environment than in the other "official" environments...
I was not using saaj-impl... but in my case, putting the webservices-api.jar (2.0 version from Metro) in /lib/endorsed worked.
Just in case it helps someone...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With