java.lang.ClassCastException com.sun.xml.bind.v2.runtime.JAXBContextImpl无法强制转换为com.sun.xml.bind.api.JAXBRIContext

时间:2018-05-17 09:46:04

标签: java web-services jax-ws

我已经公开了一个Web服务但是当客户端尝试使用该服务时,我可以看到服务器日志中存在ClassCastException异常。并且请求未到达Web服务。当我尝试调用Web服务时,它正在SOAP UI

java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext.

我尝试过使用这两种解决方案

java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext

ClassCastException: Cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor

然而,在我的weblogic文件夹中,我找不到冲突的jar。

1 个答案:

答案 0 :(得分:0)

经过调查我发现问题这是由于客户端使用错误的wsdl来调用webservice。客户端使用旧的wsdl和托管的webservice有一个不同的wsdl。

要跟踪问题,我在服务器上启用了http登录,以检查客户端发送的请求。在将SOAP-UI请求与客户端请求进行比较后,我发现请求中有一个名称空间不同。在确定问题后,我要求客户端使用新的wsdl生成存根类并调用webservice并且它有效。

混淆是由于以下异常。所有解决方案都要求检查冲突的jar。

java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext.