/**
* 功能描述:根据地址和方法,调用webservice服务端
* @param addressURL
* @param method
* @param requestXML
* @return
* @throws Exception
*/
private static String reqeustWBServer(String addressURL,String method,String requestXML) throws Exception {
try{
/* cxf调用webservice方式 */
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(addressURL);
Endpoint endpoint = client.getEndpoint();
//设置超时单位为毫秒
//HTTPConduit http = (HTTPConduit) client.getConduit();
//HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
//httpClientPolicy.setConnectionTimeout(5000); //连接超时
//httpClientPolicy.setAllowChunking(false); //取消块编码
//httpClientPolicy.setReceiveTimeout(5000); //响应超时
//http.setClient(httpClientPolicy);
//创建QName对象
QName opName = new QName(endpoint.getService().getName().getNamespaceURI(), method);
BindingInfo bindingInfo = endpoint.getEndpointInfo().getBinding();
if(bindingInfo.getOperation(opName) == null){
for(BindingOperationInfo operationInfo : bindingInfo.getOperations()){
if(method.equals(operationInfo.getName().getLocalPart())){
opName = operationInfo.getName();
break;
}
}
}
Object[] res = client.invoke(opName, requestXML);
String responseXML = res[0].toString();
return responseXML;
}catch (Exception e){
System.out.println("【调用webservice服务端失败】");
throw e;
}
}
cxf调用webservice方式,网上所得
最新推荐文章于 2021-04-28 16:53:17 发布