Spring基于soap协议的webservice调用

Spring基于soap协议的webservice调用

1.创建客户端

①创建业务模块调用的发送给服务端的请求接口

public interface AcceptanceOrderRemoteService {

/* *
*设备验收单审批完成发送审批流程给oa
* @param archive 验收单的设备档案信息
* @return 返回结果的请求id
*/
String sendAcceptance(CheckAndAcceptOrderArchive archive):

}

实现类

public interface AcceptanceOrderRemoteServiceImpl {
	
	private String sendAcceptance(){
	//初始化
	JaxWsDynamicClientFactory factory = JaxWsDynamicclientFactory.newInstance();
	//创建客户端的url连接
	client client =factory.createclient("http://192,168,100.230/services/WorkflowService..?wsdl");
	//打印请求地址,url,参数等一系列信息,这是打印我们服务发送的信息!!!
	client.getInInterceptors().add(new LoggingInInterceptor());
	//需要密码的情况需要加上用户名和密码
	//client.getoutInterceptors() .add(new
	// clientLoginInterceptor(USER_NAME,PASS_WORD));
	HTTPConduit conduit = (HTTPConduit) client.getConduit();
	HTTPclientPolicy httpclientPolicy = new HTTPclientPolicy();
	httpclientPolicy.setConnectionTimeout(2000); // 连接超时
	httpclientPolicy.setALlowChunking(false); // 取消块编码
	httpclientPolicy.setReceiveTimeout(120000); // 响应超时
	XxLJobLogger.log("=========>>> 准备调用invoke方法 ");

	//调用发送方法invoke("请求的方法名","参数1","参数2",...) 多个参数传递
	object[] result = client.invoke("doCreatelorkflowRequest",request,3159);
	//日志打印服务端返回的soap整个请求体数据
	client.getOutInterceptors().add(new LoggingoutInterceptor());
	XxlJobLogger,log("=========>>> 调用invoke方法结束,返回值是”+ result);XxlJobLogger,log("=========>>> 调用		invoke方法结束,返回值是”+ Jsons,toJson(result));return new ReturnT(Isons.toJson(result));
    }
}

到此数据就发送成功拉!

2.使用soapUI连接服务端进行接口测试

3.使用工具soapUI工具进行接口测试
在这里插入图片描述
使用soapUI测试工具连接对应服务的测试地址:
在这里插入图片描述

在这里插入图片描述
找到对应的方法,创建一个测试连接请求,该请求页面会显示所需要的参数请求,进行请求测试!!!

3.注意避坑!
我在使用的过程中没有加上发送的webservice的打印日志方法,导致我请求的时候报错了 但是找不到问题,一直以为是没有发送成功。一定要注意加上日志打印!!!

//打印请求地址,url,参数等一系列信息,这是打印我们服务发送的信息!!!
	client.getInInterceptors().add(new LoggingInInterceptor());
	
//日志打印服务端返回的soap整个请求体数据
	client.getOutInterceptors().add(new LoggingoutInterceptor());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值