在MobileFirst服务器(Liberty服务器)中使用jax-ws

我们正在尝试从Java JAX-RS适配器访问SOAP 1.1 Web服务。

我们正在使用从我们的WSDL生成的SOAP客户端。

但是当解组肥皂故障时,我们得到以下exception:

... 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.(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(...); ... 

谢谢,

米兰

好像我们无法使用带有soap的java适配器(在JDK和Embedeeded Worklight Jar之间无法解决的类与JaxB冲突)。 好像这是一个未解决的错误:现在IBM要求我们打开一个问题,发送我们的代码来解决问题。 好吧,总结:没有解决方案。 我们正在等待下一个版本希望这个问题得到解决。