1. 服务接口, 可以使用soapui产生
    @WebService(targetNamespace = “http://service.demo.ws.osxm.com/”)
    public interface DemoSoapWsService {

    @WebMethod(operationName = “get”)
    public Demo get();
    }

2.配置

<jaxws:client id="demoSoapWsClient" serviceClass="com.osxm.integ.ws.demo.DemoSoapWsService" address="${demoSoapWsClientAddress}" />

3.调用

    ApplicationContext context = new ClassPathXmlApplicationContext("webservice-client.xml");DemoSoapWsService demoSoapWsService = (DemoSoapWsService) context.getBean("demoSoapWsClient");Demo demo = demoSoapWsService.get();System.out.println("DemoSoapWsService:"+demo.getName());

错误1:需要默认构造方法

Exception in thread “main” javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element {http://demo.client.ws.osxm.com/}get found. Expected {http://impl.service.demo.ws.osxm.com/}get.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:160)
at com.sun.proxy.Proxy37.get(UnknownSource)atcom.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34)Causedby:org.apache.cxf.binding.soap.SoapFault:Unexpectedwrapperelementhttp://demo.client.ws.osxm.com/getfound.Expectedhttp://impl.service.demo.ws.osxm.com/get.atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806)atorg.apache.cxf.transport.http.HTTPConduitProxy37.get(Unknown Source) at com.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34) Caused by: org.apache.cxf.binding.soap.SoapFault: Unexpected wrapper element {http://demo.client.ws.osxm.com/}get found. Expected {http://impl.service.demo.ws.osxm.com/}get. at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806) at org.apache.cxf.transport.http.HTTPConduitProxy37.get(UnknownSource)atcom.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34)Causedby:org.apache.cxf.binding.soap.SoapFault:Unexpectedwrapperelementhttp://demo.client.ws.osxm.com/getfound.Expectedhttp://impl.service.demo.ws.osxm.com/get.atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponseInternal(HTTPConduit.java:1682)
at org.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559) at org.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.close(HTTPConduit.java:1356)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:653)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:520)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:429)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:283)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
… 2 more

错误2:Unexpected wrapper element, 原因是需要加上命名空间
@WebService(targetNamespace=“http://impl.service.demo.ws.osxm.com/”)
public interface DemoSoapWsService {

Exception in thread “main” javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element {http://demo.client.ws.osxm.com/}get found. Expected {http://impl.service.demo.ws.osxm.com/}get.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:160)
at com.sun.proxy.Proxy38.get(UnknownSource)atcom.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34)Causedby:org.apache.cxf.binding.soap.SoapFault:Unexpectedwrapperelementhttp://demo.client.ws.osxm.com/getfound.Expectedhttp://impl.service.demo.ws.osxm.com/get.atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806)atorg.apache.cxf.transport.http.HTTPConduitProxy38.get(Unknown Source) at com.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34) Caused by: org.apache.cxf.binding.soap.SoapFault: Unexpected wrapper element {http://demo.client.ws.osxm.com/}get found. Expected {http://impl.service.demo.ws.osxm.com/}get. at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806) at org.apache.cxf.transport.http.HTTPConduitProxy38.get(UnknownSource)atcom.osxm.ws.client.demo.DemoSoapWsClient.main(DemoSoapWsClient.java:34)Causedby:org.apache.cxf.binding.soap.SoapFault:Unexpectedwrapperelementhttp://demo.client.ws.osxm.com/getfound.Expectedhttp://impl.service.demo.ws.osxm.com/get.atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:86)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:52)atorg.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:41)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)atorg.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)atorg.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)atorg.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:806)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponseInternal(HTTPConduit.java:1682)
at org.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559) at org.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.handleResponse(HTTPConduit.java:1559)atorg.apache.cxf.transport.http.HTTPConduitWrappedOutputStream.close(HTTPConduit.java:1356)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:653)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:520)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:429)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:283)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
… 2 more

错误3:DemoFactory没有定义, 但是出现错误。 能正常运行。
此错误出现在服务器端。
看上去和<jaxws:server 配置Service有关。

Nov 14, 2018 1:39:33 PM org.apache.cxf.jaxb.io.DataReaderImpl createUnmarshaller
INFO: PropertyException setting Marshaller properties
javax.xml.bind.PropertyException: name: com.sun.xml.bind.ObjectFactory value: com.osxm.ws.demo.vo.DemoFactory@9804322
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.setProperty(Unknown Source)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.setProperty(Unknown Source)
at org.apache.cxf.jaxb.io.DataReaderImpl.createUnmarshaller(DataReaderImpl.java:124)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:170)
at org.apache.cxf.wsdl.interceptors.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocolConnectionHandler.process(AbstractProtocol.java:754)atorg.apache.tomcat.util.net.NioEndpointConnectionHandler.process(AbstractProtocol.java:754) at org.apache.tomcat.util.net.NioEndpointConnectionHandler.process(AbstractProtocol.java:754)atorg.apache.tomcat.util.net.NioEndpointSocketProcessor.doRun(NioEndpoint.java:1385)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutorWorker.run(UnknownSource)atorg.apache.tomcat.util.threads.TaskThreadWorker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThreadWorker.run(UnknownSource)atorg.apache.tomcat.util.threads.TaskThreadWrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

Spring 5.X+CXF 3.X 开发SOAP Web Service Client客户端实例相关推荐

  1. Spring 5.X+CXF 3.X 开发SOAP Web Service服务端实例

    方式1:使用 jaxws:server 步骤1. 定义返回的Model POJO的定义, 最好是加上默认构造函数.服务端不加不会出错, 但是在客户端调用的时候类似的Model定义不加默认构造函数会出错 ...

  2. cxf 服务端soap报文_使用Apache CXF开发SOAP Web服务

    cxf 服务端soap报文 在上一篇文章中,我逐步介绍了使用apache CXF开发简单的RESTFull服务的步骤. 在本文中,我将讨论使用CXF开发SOAP Web服务. 在继续前进之前,让我们先 ...

  3. 使用Apache CXF开发SOAP Web服务

    在上一篇文章中,我逐步介绍了使用apache CXF开发简单的RESTFull服务的步骤. 在本文中,我将讨论使用CXF开发SOAP Web服务. 在继续前进之前,让我们了解构成SOAP Web服务的 ...

  4. SOAP/Web Service/WSDL关系

    转载----------------------------------------------- 最近看了xml schema,xpah,和xslt的相关内容,感觉wsdl就是一个soap的sche ...

  5. C++ 调用 SOAP Web Service

    C++ 调用 SOAP Web Service 背景 首先,gSoap 肯定是个不错的选择,但是如果你的程序要调用多个 Web Services(即有多个 WSDL),gSoap 会比较麻烦.还有一个 ...

  6. CXF 生成Web Service Client(将WSDl 转化成 Java代码)

    CXF 是什么 Apache CXF一个开源的Service框架,它实现了JCP与Web Service中一些重要标准. CXF简化了构造,集成,面 向服务架构(SOA)业务组件与技术的灵活复用.在C ...

  7. Android 项目开发 基于Web Service 服务的中英翻译软件(三) Web Service服务 Ksoap2 项目...

    关于Web Service Android 应用通常是运行手机平台上,手机系统的硬件资源远远比不上PC平台,不管是存储能力还是计算能力,在Android平台上运行一些小的应用时可能的,但对于需要进行大 ...

  8. 【REST SOAP】REST和SOAP Web Service的区别比较

    今天遇到一个webservice协议的接口需求,在使用soupUI测试接口连通性的时候,发现使用soupUI新建一个SOAP项目的时候,WSDL链接总是报错打不开(厂家提供的接口规范上写的是SOAP协 ...

  9. [Axis2与Eclipse整合开发Web Service系列之一] 生成Web Service Client(将WSDl 转化成 Java代码)

    需求描述 有一个WSDL地址, 需要把它转化成Java代码调用. IDE环境要求 这里使用Eclipse自动生成.这里的eclipse需要安装有Web开发插件. 步骤 1. 首先新建一个 " ...

最新文章

  1. fliqlo windows_Windows小众软件工具推荐
  2. 第 14 章 垃圾回收概述
  3. 开发规范 - UML图
  4. Java 实现线程的两种方式
  5. [转]二维图形的矩阵变换(一)——基本概念
  6. java hex2bin_hex2bin / bin2hex / pack / unpack 的理解及应用
  7. 号码检测,节省成本利器
  8. Openwrt修改flash大小
  9. 腾达ac5第三方固件_腾达AC9的刷固件指南
  10. 腾达f6虚拟服务器,腾达(Tenda)F6路由器无线wifi设置
  11. 地磅系统连不上云端服务器,LiteCMS云称重管理系统
  12. 计算机不能启动任务管理器,win10系统无法打开任务管理器怎么办
  13. HTMLa标签常用的四种链接
  14. Mybatis(1)——Mybatis Generator自动生成代码
  15. 时间序列完全教程(R)
  16. 【NOWCODER】- Python:字典(一)
  17. INRIAPerson数据集转化为yolo训练格式并可视化
  18. 电商台账管理库存管理
  19. python快速入门【六】----真题测试
  20. joomla 1:安装

热门文章

  1. 遍历聚合对象中的元素——迭代器模式(四)
  2. ERP通用附件管理功能设计与实现
  3. 打不开baidu晓得、百科等可是其他网页正常的解决方法
  4. jquery ajax缓存问题解决方法小结
  5. 关于mapper接口与mapper.xml文件在同包运行找不到问题解决
  6. informix 数据库锁表分析和解决方法
  7. 2021年1月十大热门报告盘点(5天VIP会员免费送)
  8. 【报告分享】2019年中国首席营销官(CMO)调查白皮书.pdf(附下载链接)
  9. 深度学习福利入门到精通第二讲——AlexNet模型
  10. KMP算法的浅显解释