CXF方式搭建本地webservice服务和soap方式调用踩坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CXF方式搭建本地webservice服务和soap方式调用踩坑相关的知识,希望对你有一定的参考价值。

参考技术A 说明:本文章记录的是基于springboot搭建的cxf服务端和soap客户端调用

说明:目前我使用到了四个注解,分别是
@WebService:表明该接口是一个webservice服务接口,注解里的属性值可以设置生成的wsdl文档的命名空间等信息,此处没有遇到相关错误,因此没有进行设置,不过建议还是设置上。
@WebMethod:表明该方法是服务要发布的方法,对应属性也可以设置上
@WebResult:设置方法返回值,此处最开始没有设置导致获取不到返回值,因此务必设置上
@WebParam:设置参数信息,指定参数名字和参数所属命名空间,必须设置,不然可能导致参数不能传递进来

说明:实现类上需要贴上注解,方法不需要

说在前头:这里我只是实验了拦截器的定义,没有什么具体的业务操作,想学习的同学请自行研究

此时启动boot项目就可以访问到wsdl文档

第一个就是请求参数无法传递进去,解决办法是设置@WebParam注解的targetNamespace属性值
这个主要就是报非法属性异常

第二个就是无法获取到返回值,解决办法就是需要添加@WebResult注解并设置对应的属性值
这个主要就是在客户端获取返回值哪里报空指针异常

以上是关于CXF方式搭建本地webservice服务和soap方式调用踩坑的主要内容,如果未能解决你的问题,请参考以下文章

Axis和CXF的比较

CXF 3.* WebService服务端

cxf CXF搭建webService服务器

webService-cxf框架的使用

通过CXF方式实现webservice服务

使用cxf3.0.4搭建webservice服务需要的最精简jar包