通过httpClient和拼接xml请求webservice服务并使用fasterxml jackson 解析成对象

本文介绍了如何使用HttpClient发送带有XML内容的请求来调用WebService,并利用Fasterxml Jackson将响应的XML数据解析为Java对象。文章特别提到了在处理SAP服务时的这一方法。
摘要由CSDN通过智能技术生成

前言

目前还有一些使用SAP服务,上一篇文章是使用hutool调用webservice的方法使用hutool调用webservice教程,本篇文章讲解使用httpClient调用webservice的方法

  1. 获取到xml报文

    此处我用soapui获取xml报文,soapui使用教程请访问使用hutool调用webservice教程中查看
    我获取到的报文是这样的
    
String xml="<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:i=\"http://i.std.ei.iih/\">\n" +
                "   <soapenv:Header/>\n" +
                "   <soapenv:Body>\n" +
                "      <i:process>\n" +
                "      <code>SI0142</code>\n" +
                "\t <xml>\n" +
                "\t <![CDATA[\n" +
                "<iihparam> \n" +
                "  <!--用户编码-->  \n" +
                "  <Code_user>00000</Code_user>  \n" +
                "  <!--科室编码-->  \n" +
                "  <Code_dep>88</Code_dep>  \n" +
                "  <!--外部编码-->  \n" +
                "  <Code_external>IIH</Code_external>  \n" +
                "  <Data> \n" +
                "    <!--分页信息-->  \n" +
                "    <Pageinfos> \n" +
                "      <Pageinfo> \n" +
                "        <!--分页大小-->  \n" +
                "        <Pagesize>10000</Pagesize>  \n" +
                "        <!--页号-->  \n" +
                "        <Pageindex>1</Pageindex>  \n" +
                "        <!--页数-->  \n" +
                "        <Pagecount></Pagecount>  \n" +
                "        <!--总记录数-->  \n" +
                "        <Recordscount></Recordscount> \n" +
                "      </Pageinfo> \n" +
                "    </Pageinfos> \n" +
                "  </Data> \n" +
                "</iihparam>\n" +
                " ]]>\n" +
                "</xml>\n" +
                "      </i:process>\n" +
                "   </soapenv:Body>\n" +
                "</soapenv:Envelope>";
                //上面的xml可能会出现>变成&gt;和<变成&lt;的情况,所以我们需要替换一下
                xml.replaceAll("&gt;", ">").replaceAll("&lt;", "<");
  1. 使用httpClient调用

public static String httpQ
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值