- 论坛徽章:
- 0
|
在日常开发过程中,比如商城对接银行的支付等功能时,会用到这种交互。
一般系统支付对接银行的话,一般接口调用方式:https指令,htps页面,以及socket专线等。
代码:- /**
- * https指令方式提交
- *
- * @param xml 报文数据
- *
- *
- */
- private String sendHttpsPost(String xml) {
- // 发送https请求指定
- ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
- Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
- // spdUrl:为请求地址 建议最好在properties文件里配置
- PostMethod post = new PostMethod(spdUrl);
- // 指定请求内容的类型
- post.setRequestHeader("Content-type", "text/xml; charset=GBK");
- // 添加xml字符串
- post.setRequestBody(xml.toString());
- spdblogs.info("https指令的请求报文========================" + xml.toString());
- System.out.println("https指令的请求报文========================"
- + xml.toString());
- // 创建 HttpClient 的实例
- HttpClient httpclient = new HttpClient();
- int result;
- String xmlDoc = "";
- try {
- //
- result = httpclient.executeMethod(post);
- log.info("https请求结果=======" + result);
- // 报文结果
- xmlDoc = post.getResponseBodyAsString();
- log.info("返回的XML报文结果=======" + xmlDoc);
- System.out.println("result===========" + result);
- System.out.println(post.getResponseBodyAsString());
-
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- // 释放连接
- post.releaseConnection();
-
- }
- // 对返回的xml报文进行解析并返回对应的数据
- return xmlElements(xmlDoc);
- }
复制代码 注意:方法入参xml 为接口报文组装后的数据
xmlElements方法是对应接口返回的数据解析,
然后根据自己项目情况对应的返回数据 |
|