hhhzzzzzz666 2019-08-09 20:39 采纳率: 0%
浏览 1238

webservice接口解析数据时,如果不让自己请求头的CDATA封装和对方数据中的CDATA封装弄混?

webservice的接口。我用soupui输入wsdl地址,自动生成的头中有CDATA。对方提供的入参中也有用来转义的CDATA封装。导致我的头和他的尾对应上了,然后解析失败。
下面是我在soupui中生成的头尾:
```
soapenv:Header/
soapenv:Body
dhad:sendinpatinfo
dhad:xml
<![CDATA[

                ]]>
            </dhad:xml>
  </dhad:sendinpatinfo>

/soapenv:Body
/soapenv:Envelope

下面是对方传输的数据(剩去了部分敏感信息):
<?xml version="1.0" ?>
<!-- type: hsb.DhcEns.Message.Request  id: 35954888 -->
<Request xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MessageCode>MES0088</MessageCode>
<InputString></InputString>
<InputStream>

<![CDATA[<Request><Header><SourceSystem>SYS0008</SourceSystem><MessageID>113738</MessageID></Header><Body><PatientId>318412</PatientId>...........................
<Routine><TESTNO>2144648100</TESTNO><REQUESTEDDATETIME>2019-08-02 10:09</REQUESTEDDATETIME><RESULTSRPTDATETIME>2019-08-02 10:09:18</RESULTSRPTDATETIME><SPECIMEN>全血</SPECIMEN><SUBJECT>全血细胞分析+全程CRP</SUBJECT><REPORTITEMNAME>C反应蛋白</REPORTITEMNAME><RESULT><![CDATA[<10.00]]]]><![CDATA[></RESULT><ABNORMALINDICATOR>正常</ABNORMALINDICATOR></Routine>
</Body></Request>]]>


</InputStream>
<TargetSeriveCode>REG0031</TargetSeriveCode>
<TargetMethodCode>sendinpatinfo</TargetMethodCode>
<TargetParaCode>xml</TargetParaCode>
<TargetFunCode>MES0088</TargetFunCode>
<EnsRowID>23930436</EnsRowID>
<MessageTemplateInfo></MessageTemplateInfo>
<RowID></RowID>
<TargetSrcCode></TargetSrcCode>
<TargetSqlCode></TargetSqlCode>
<LinkUrl>/csp/hsb/EnsPortal.VisualTrace.zen?SESSIONID=28550999</LinkUrl>
<HL7MessageCode></HL7MessageCode>
<SyncType></SyncType>
<IntFlag></IntFlag>
</Request>


这样我把对方推送的数据放到我的头尾中间进行测试,soupui会把我头结束的<![CDATA[  和他数据中间</Request>后面的 ]]>  对应上,导致对方推送的数据后面有一部分根本就没被我们识别到,然后解析失败,求大佬帮我分析一下我该怎么办?
  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作