Java IllegalArgumentException:com.sun.xml.internal.messaging.saaj.soap.LocalStrings!=com.sun.xml.messaging.saaj.soap.LocalStrings

Java IllegalArgumentException:com.sun.xml.internal.messaging.saaj.soap.LocalStrings!=com.sun.xml.messaging.saaj.soap.LocalStrings,java,web-services,jax-ws,Java,Web Services,Jax Ws,在我的web应用程序中,我正在联系一个web服务(使用JAX-WS),但出现以下错误: java.lang.ExceptionInInitializerError at com.sun.xml.ws.message.AttachmentUnmarshallerImpl.<clinit>(AttachmentUnmarshallerImpl.java:55) at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.read

在我的web应用程序中,我正在联系一个web服务(使用JAX-WS),但出现以下错误:

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

问题解决了。这是由于第三方的依赖关系,
saaj-impl-1.3.jar
在我的环境中与其他“官方”环境中略有不同…

我没有使用saaj impl。。。但在我的例子中,将webservices-api.jar(Metro的2.0版本)放在/lib/approved中是有效的


以防万一……您提到的错误在1.6.0_4中检测到,但尚未修复。为什么您不希望它出现在您的环境中?@jarnbjo只是因为这个问题只发生在我的环境中,而不发生在其他环境中(开发、认证等)。这是因为我的
saaj-impl-1.3.jar文件中有一个问题。嘿,你是如何解决的?我也吃同样的problem@Ashish尝试更改
saaj impl
库的版本。或者至少,如果您有
META-INF/services/javax.xml.soap.**Factory
files.Hi,请查看JAR文件。谢谢你的回复。是的,上面的问题现在已经解决了。顺便说一下,我无法在weblogic中运行Metro 2.1。当我运行web服务时,它使用weblogic中的jax ws,而不是metro 2.1。请帮助。@Ashish创建一个包含所有详细信息(错误消息等)的新问题。这是我的问题。还没有答案。从过去三天开始尝试-(
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