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

标签 java soap jax-ws ibm-mobilefirst mobilefirst-adapters

我们正在尝试从 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(...);
...

谢谢

米兰

最佳答案

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

关于java - 在 MobileFirst 服务器(Liberty 服务器)中使用 jax-ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762959/

相关文章:

php - 如何通过 Zend_Soap_Client 发送复杂类型?

web-services - WebService 端点 url 具有 https 时的 SSL 异常

java - 在 Tomcat/Axis2 中使用 JAW-XS 注释

java - Spring Boot 无法创建数据源

java - 如果在没有任何选项的情况下运行 JVM,对内存使用有何影响?

java - Spring 安全 : How to redirect to a REST url after login

java - 如何在Python中使用导入模块的内容而不必每次都写入模块的文件名?

java - 将 SOAP 字符串消息转换为 SoapMessage 时出现 NullPointer 异常

java - 用于响应的 JAX-WS 和 SOAP 映射

用于故障转移配置和架构的 Java JAX-WS 多个 Web 服务