客户端利用CXF中的JaxWsProxyFactoryBean 对webservice地址进行调用

其实调用代码关键就简单几行

一个实现类,一个引用接口、接口主要指定需要调用的webservice地址中的方法、参数、返回类型的配置

public Object webserviceRequest(String bidCode){
		try {
			JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
			factoryBean.setAddress("http://***********webservice地址**********-service?wsdl");
			factoryBean.setServiceClass(IGTPExtractResultService.class);//通过接口指定请求方法名称/返回类型/参数
			IGTPExtractResultService ex =(IGTPExtractResultService)factoryBean.create();
			configTimeout(ex);//超时设置
			Object object = ex.GetExpertInfoList(bidCode);//请求完毕后、类型接收
			return object;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	


 

/**
	 * 客户端调用请求时超时设置
	 * @param service
	 */
	public static void configTimeout(Object service) {
		Client proxy = ClientProxy.getClient(service);
		HTTPConduit conduit = (HTTPConduit) proxy.getConduit();
		HTTPClientPolicy policy = new HTTPClientPolicy();
		policy.setConnectionTimeout(8*1000);//8S 请求时间
		policy.setReceiveTimeout(10*1000);//10S 连接时间
		conduit.setClient(policy);
	}


接口代码

@WebService(name ="WebserviceTestService", targetNamespace = "http://service.projectregister.procurement/")
public interface IGTPExtractResultService {
	@WebResult(name = "return", targetNamespace = "http://service.projectregister.procurement/")
	@WebMethod(operationName = "GetExpertInfoList")//指定调用webservice地址的方法名称
	public Object GetExpertInfoList(String bidCode);//参数
}

 

上述代码中的方法名称可以填写已知类型、我这里仅为了调试,暂时修改为Obeject类型了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值