加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

cxf调用webservice方式,网上所得

发布时间:2020-12-16 23:11:36 所属栏目:安全 来源:网络整理
导读:/** * 功能描述:根据地址和方法,调用webservice服务端 * @param addressURL * @param method * @param requestXML * @return * @throws Exception */private static String reqeustWBServer(String addressURL,String method,String requestXML) throws Ex
/**
	 * 功能描述:根据地址和方法,调用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;
		}
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读