免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4695 | 回复: 1

接口交互方式:https指令方式交互 [复制链接]

论坛徽章:
0
发表于 2015-07-24 13:16 |显示全部楼层
在日常开发过程中,比如商城对接银行的支付等功能时,会用到这种交互。
一般系统支付对接银行的话,一般接口调用方式:https指令,htps页面,以及socket专线等。
代码:
  1. /**
  2.      * https指令方式提交
  3.      *
  4.      * @param xml 报文数据
  5.      *
  6.      *
  7.      */
  8.     private String sendHttpsPost(String xml) {
  9.         // 发送https请求指定
  10.         ProtocolSocketFactory fcty = new MySecureProtocolSocketFactory();
  11.         Protocol.registerProtocol("https", new Protocol("https", fcty, 443));
  12.         // spdUrl:为请求地址    建议最好在properties文件里配置
  13.         PostMethod post = new PostMethod(spdUrl);
  14.         // 指定请求内容的类型
  15.         post.setRequestHeader("Content-type", "text/xml; charset=GBK");
  16.         // 添加xml字符串
  17.         post.setRequestBody(xml.toString());
  18.         spdblogs.info("https指令的请求报文========================" + xml.toString());
  19.         System.out.println("https指令的请求报文========================"
  20.                 + xml.toString());
  21.         // 创建 HttpClient 的实例
  22.         HttpClient httpclient = new HttpClient();
  23.         int result;
  24.         String xmlDoc = "";
  25.         try {
  26.             //
  27.             result = httpclient.executeMethod(post);
  28.             log.info("https请求结果=======" + result);
  29.             // 报文结果
  30.             xmlDoc = post.getResponseBodyAsString();
  31.             log.info("返回的XML报文结果=======" + xmlDoc);
  32.             System.out.println("result===========" + result);
  33.             System.out.println(post.getResponseBodyAsString());

  34.         } catch (IOException e) {
  35.             e.printStackTrace();
  36.         } finally {
  37.             // 释放连接
  38.             post.releaseConnection();

  39.         }
  40.         // 对返回的xml报文进行解析并返回对应的数据
  41.         return xmlElements(xmlDoc);
  42.     }
复制代码
注意:方法入参xml 为接口报文组装后的数据
     xmlElements方法是对应接口返回的数据解析,
     然后根据自己项目情况对应的返回数据

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2015-08-12 11:06 |显示全部楼层
apache有httpclient类库啊。何以自己写。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP