博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
httpclent调用webservice
阅读量:5902 次
发布时间:2019-06-19

本文共 1772 字,大约阅读时间需要 5 分钟。

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:远程地址

soapXmlsoap类型的xml字符串

soapAction默认””

socketTimeout:请求超时时间

connectTimeout传输超时时间

*/

 public static String doPostSoap1_1(String postUrl, String soapXml,  

            String soapAction, String socketTimeout, String connectTimeout) {  

    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 (Exception e) {

e.printStackTrace();

}finally{

//关闭链接

if(postMethod != null)

postMethod.releaseConnection(); 

}

        System.out.println("retStr:"+retStr);

return retStr;

    }  

你可能感兴趣的文章
POJ2406 Power Strings(KMP)
查看>>
JavaScript 命名空间
查看>>
[uEnv.txt]在uEnv.txt文件中使用if语句实现Image/dtb文件切换
查看>>
从领先到引领,浪潮凭借的是技术自信
查看>>
月薪1.5W以下的数据分析师·面试流程(附赠考题)
查看>>
心心念念iPhone SE2来了 我已想好买它的3个理由
查看>>
再迎利好,BCH开发团队BU融合石墨烯区块传播技术
查看>>
么么直播的音视频技术实践和优化
查看>>
关于Android Studio UnsatisfiedLinkError错误的解决办法
查看>>
业务系统如何引入神经网络
查看>>
SQLMAP的前世今生Part2 数据库指纹识别
查看>>
智能设备逆向工程之外部Flash读取与分析篇
查看>>
Volatility FAQ
查看>>
从丝绸之路到安全运维(Operational Security)与风险控制(Risk Management) 上集
查看>>
简单配置实现页面修改自动刷新
查看>>
Laravel框架blade模板超新手级教程&小技巧
查看>>
React Native入门技法二
查看>>
《Java8实战》-读书笔记第一章(01)
查看>>
可能是全网最全的移动直播 trouble shooting 手册(9)—— 点播拖动不准
查看>>
linux6.8安装docker
查看>>