cxf调用webservice方式,网上所得

来源:互联网 发布:软件编写目的 编辑:程序博客网 时间:2024/05/07 04:34
/** * 功能描述:根据地址和方法,调用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;}}

0 0
原创粉丝点击