微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cxf调用webservice方式,网上所得

/**
	 * 功能描述:根据地址和方法调用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;
		}
	}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐