greatleaf 发表于 2015-07-24 13:16

接口交互方式:https指令方式交互

在日常开发过程中,比如商城对接银行的支付等功能时,会用到这种交互。
一般系统支付对接银行的话,一般接口调用方式: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方法是对应接口返回的数据解析,
   然后根据自己项目情况对应的返回数据

renxiao2003 发表于 2015-08-12 11:06

apache有httpclient类库啊。何以自己写。
页: [1]
查看完整版本: 接口交互方式:https指令方式交互