Java调用webservice接口
2016-03-31 18:26
381 查看
<span style="font-size:14px;"> //组装请求 String ss = getReqStr(phoneNumber,flownumber,prdCode); logger.info("phoneNumber_"+phoneNumber+"_request_saop:"+ss); PostMethod postMethod = new PostMethod("http://127.0.0.1:8080/NeusoftOrderProductService");//todo 读取配置文件 byte[] b = ss.getBytes("utf-8"); InputStream is = new ByteArrayInputStream(b,0,b.length); RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8"); postMethod.setRequestEntity(re); HttpClient httpClient = new HttpClient(); int statusCode = httpClient.executeMethod(postMethod); logger.info(phoneNumber + "_statusCode:"+statusCode); String soapRequestData = postMethod.getResponseBodyAsString(); logger.info(phoneNumber + "_soapRequestData:"+soapRequestData); String resultcode=soapRequestData.substring(soapRequestData.indexOf("code>")+8,soapRequestData.indexOf("</code")); logger.info(phoneNumber + "_resultcode:"+resultcode); resultmsg=soapRequestData.substring(soapRequestData.indexOf("msg>")+7,soapRequestData.indexOf("</msg>")); logger.info(phoneNumber + "_resultmsg:"+resultmsg);</span>
<span style="font-size:14px;"> //组装请求字符串 private String getReqStr(String phoneNumber, String flownumber,String orderProd){ StringBuilder sb = new StringBuilder(); sb.append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:sns1=\"http://www.neusoft.com/OrderProduct/sns1.xsd\">"); sb.append("<soapenv:Header/>"); sb.append("<soapenv:Body>"); sb.append("<sns1:OrderInfoRequest>"); sb.append("<sns1:flow_number>"); sb.append(flownumber); sb.append("</sns1:flow_number>"); sb.append("<sns1:oper_type>01</sns1:oper_type>"); sb.append("<sns1:in_xml>"); // sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sb.append("<req>"); sb.append("<flow_number>"); sb.append(flownumber); sb.append("</flow_number>"); sb.append("<oper_type>"); sb.append("01"); sb.append("</oper_type>"); sb.append("<tel>"); sb.append(phoneNumber); sb.append("</tel>"); sb.append("<pay_service>"); sb.append("1234567890"); sb.append("</pay_service>"); sb.append("<service_pwd>"); sb.append("123456"); sb.append("</service_pwd>"); sb.append("<order_prod>"); sb.append(orderProd); sb.append("</order_prod>"); sb.append("</req>"); sb.append("</sns1:in_xml>"); sb.append("</sns1:OrderInfoRequest>"); sb.append("</soapenv:Body>"); sb.append("</soapenv:Envelope>"); return sb.toString(); }</span>
通过组装xml数据,然后HttpClient执行请求,便可以和webservice接口连通。
相关文章推荐
- ASP.NET WebService中使用ASP.NET_SessionId的问题说明
- ASP调用WebService转化成JSON数据,附json.min.asp
- php的webservice的wsdl的XML无法显示问题的解决方法
- PHP调用Webservice实例代码
- 在PHP中利用wsdl创建标准webservice的实现代码
- JQuery调webservice实现邮箱验证(检测是否可用)
- WebService出现"因 URL 意外地以 结束,请求格式无法识别"的解决方法
- 用JavaScript调用WebService的示例
- jQuery调用WebService返回JSON数据及参数设置注意问题
- 同步调用和异步调用WebService
- C#调用WebService实例开发
- 动态webservice调用接口并读取解析返回结果
- WebService 的简单封装接口调用方法
- ASP.NET实现基于Forms认证的WebService应用实例
- C#使用WebService结合jQuery实现无刷新翻页的方法
- C#调用和实现WebService,纯手工打造!
- c#动态改变webservice的url访问地址
- asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)
- php实现webservice实例
- 区分WCF与WebService的异同、优势