CXF调用
import orgapachecxfinterceptorLoggingInInterceptor;
import orgapachecxfinterceptorLoggingOutInterceptor;
import orgapachecxfjaxwsJaxWsProxyFactoryBean;
import serviceICalculateService;
public class ClientTest {
public static void main(String[] args) {
// 创建webservice服务工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
// 加入一个接收响应日志的拦截器
factorygetInInterceptors()add(new LoggingInInterceptor());
// 加入一个返回响应日志的拦截器
factorygetOutInterceptors()add(new LoggingOutInterceptor());
factorysetServiceClass(ICalculateServiceclass);
factorysetAddress(">
说明:本文章记录的是基于springboot搭建的cxf服务端和soap客户端调用
说明:目前我使用到了四个注解,分别是
@WebService:表明该接口是一个webservice服务接口,注解里的属性值可以设置生成的wsdl文档的命名空间等信息,此处没有遇到相关错误,因此没有进行设置,不过建议还是设置上。
@WebMethod:表明该方法是服务要发布的方法,对应属性也可以设置上
@WebResult:设置方法返回值,此处最开始没有设置导致获取不到返回值,因此务必设置上
@WebParam:设置参数信息,指定参数名字和参数所属命名空间,必须设置,不然可能导致参数不能传递进来
说明:实现类上需要贴上注解,方法不需要
说在前头:这里我只是实验了拦截器的定义,没有什么具体的业务 *** 作,想学习的同学请自行研究
此时启动boot项目就可以访问到wsdl文档
第一个就是请求参数无法传递进去,解决办法是设置@WebParam注解的targetNamespace属性值
这个主要就是报非法属性异常
第二个就是无法获取到返回值,解决办法就是需要添加@WebResult注解并设置对应的属性值
这个主要就是在客户端获取返回值哪里报空指针异常
以上就是关于我第一次接触webservice,怎么调用用web service接口,cxf或者axis2都行,网上找的例子,都有点错误全部的内容,包括:我第一次接触webservice,怎么调用用web service接口,cxf或者axis2都行,网上找的例子,都有点错误、有没有办法在CXF的拦截器里获得调用方法的名称及参数值、CXF方式搭建本地webservice服务和soap方式调用踩坑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)