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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3889087/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 03:52:06  来源:igfitidea点击:

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

javaweb-servicesjax-ws

提问by Romain Linsolas

In my web-application, I am contacting a Web-Service (using JAX-WS) but I get the following error:

在我的 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

This happen on my machine, when I run my application in Eclipse...

这发生在我的机器上,当我在 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:

我怀疑这个Oracle Java 错误,但我在 Tomcat 5.5 和 Java 1.6.0_18 中运行我的 web 应用程序,如我的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

采纳答案by Romain Linsolas

Problem solved. This was due to a third-party dependency, saaj-impl-1.3.jarwhich was slightly different in my environment than in the other "official" environments...

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

回答by Alfabravo

I was not using saaj-impl... but in my case, putting the webservices-api.jar (2.0 version from Metro) in /lib/endorsed worked.

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

Just in case it helps someone...

以防万一它可以帮助某人...