大家好,欢迎来到IT知识分享网。
httpclent调用 webservice wsdl后缀服务
1.jar包:
commons-logging-1.2.jar commons.codec_1.3.jar commons.httpclient_3.1.jar dom4j-1.4.jar httpcore_4.0-beta1.jar
2.地址:格式如【http://192.168.123.89:7031/cus/EmvsWs?wsdl】
3.soap类型的xml字符串
用soapui生成,右侧的就是
红框内的部分就是soap类型的xml字符串,拷贝到代码中,当然要将你的参数替换到 ?用拼接
4. 请求和传输时间自己随意设置。
5. soapAction就不用管,直接“”
6. 返回值就是一串字符串,类似上图中的红框下边那一部分,将它转换成document。再取得其中的值就可以了
/ postUrl:远程地址 soapXml:soap类型的xml字符串 soapAction:默认”” socketTimeout:请求超时时间 connectTimeout:传输超时时间 */ public static StringdoPostSoap1_1(StringpostUrl, StringsoapXml, String soapAction, StringsocketTimeout, StringconnectTimeout) { String retStr = ""; //HttpClient HttpClient httpClient =new HttpClient(); //PostMethod PostMethod postMethod =new PostMethod(postUrl); // 设置请求和传输超时时间 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(Integer.parseInt(socketTimeout));//连接超时 httpClient.getHttpConnectionManager().getParams().setSoTimeout(Integer.parseInt(connectTimeout)); //设置请求体 try { RequestEntity requestEntity = new ByteArrayRequestEntity(soapXml.getBytes("utf-8")); postMethod.setRequestEntity(requestEntity); //postMethod.setRequestBody(soapXml); //方法过时 //设置请求参数 postMethod.setRequestHeader("Content-Type", "text/xml;charset=UTF-8"); postMethod.setRequestHeader("SOAPAction", soapAction); httpClient.executeMethod(postMethod); //发送请求 retStr=postMethod.getResponseBodyAsString();//响应体 System.out.println("retStr:"+retStr); //将相应体转换成document解析,并取得其中的数据 retStr =DocumentHelper.parseText(retStr).getRootElement().element("Body").element("uploadCusxDownUpInfoResponse").element("result").getText(); } catch (Exceptione) { e.printStackTrace(); }finally{ //关闭链接 if(postMethod!= null) { postMethod.releaseConnection(); } } System.out.println("retStr:"+retStr); return retStr; }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120912.html
