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

时间:2010-10-08 09:03:31

标签: java web-services jax-ws

在我的网络应用程序中,我正在联系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

当我在Eclipse中运行我的应用程序时,这发生在我的机器上......

这个错误的根源是什么?

我怀疑这是Oracle Java bug,但是我在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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

我没有使用saaj-impl ...但在我的情况下,将/ lib / endorsed中的webservices-api.jar(来自Metro的2.0版本)工作。

以防它有助于某人...