【发布时间】:2015-09-24 13:42:03
【问题描述】:
我们正在尝试从 Java JAX-RS 适配器访问 SOAP 1.1 Web 服务。
我们正在使用从我们的 WSDL 生成的 SOAP 客户端。
但是当解组soap错误时,我们得到以下异常:
...
Caused by: java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:107)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
at com.sun.proxy.$Proxy196.rechercherContrats(Unknown Source)
at fr.sma.prod.adapter.ContratResource.rechercherContrats(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
...
Caused by: java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.internal.bind.api.JAXBRIContext
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder$1.run(SOAPFaultBuilder.java:570)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder$1.run(SOAPFaultBuilder.java:566)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createJAXBContext(SOAPFaultBuilder.java:565)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.<clinit>(SOAPFaultBuilder.java:555)
... 94 more
版本:
********************************************************************************
product = WebSphere Application Server 8.5.5.5 (wlp-1.0.8.cl50520150305-2202)
wlp.install.dir = C:/Users/a10344/.ibm/mobilefirst/7.1.0.00.20150807-0630/server/wlp/
java.home = C:\Program Files\Java\jdk1.7.0_71\jre
java.version = 1.7.0_71
java.runtime = Java(TM) SE Runtime Environment (1.7.0_71-b14)
os = Windows 7 (6.1; amd64) (en_US)
process = 52164@P72302W
********************************************************************************
服务的 jaxb 类是使用 CXF maven 插件生成的,该插件生成标准 jax-ws/jaxb 代码。
...
service= javax.xml.ws.Service.create(wsdlUrl,serviceQName);
productionService= service.getPort(ProductionService.class);
productionService.rechercherContrat(...);
...
谢谢,
米兰
【问题讨论】:
-
能否提供Java实现?
-
嗨 Idan,我已经修改了我的问题,添加了有关我们的 java 代码的更多信息。
-
为了提供帮助,我需要知道您在适配器的 lib 文件夹中放入了哪些罐子
-
顺便说一句,检查stackoverflow.com/questions/17114090/…是否有帮助
-
@Idan 我有 1 个简单的 jar(没有依赖项,没有 xml stuf,只有一个 URLConnection 调用),用于获取 wsdl 的 url。
标签: java soap jax-ws ibm-mobilefirst mobilefirst-adapters