Webservice 服务请求参数xml 嵌套问题/CDATA嵌套
今天在对接某政府服务平台需要使用webservice服务进行对接,参考第三方提供的对接文档,截图如下:<?xml version="1.0" encoding="UTF-8"?><ReqPacket xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Header><requestId>402
今天在对接某政府服务平台需要使用webservice服务进行对接,参考第三方提供的对接文档,截图如下:
<?xml version="1.0" encoding="UTF-8"?>
<ReqPacket xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<requestId>402881ed491324d1014913260a410001(调用方生成)</requestId>
<from>xxxxx</from>
<instruct> ProjectCodeService.project.get(调用的接口实例)</instruct>
</Header>
<Content>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<ProjectCodeServiceRequest>
< formTemplateUID >参数 (对象ID)</ formTemplateUID >
</ProjectCodeServiceRequest>
]]>
</Content>
</ReqPacket>
通过上述调用方参数传递的方式可以看出,这里涉及xml 嵌套/CDATA嵌套
第一步:使用SoapUI 模拟webservice 请求,按照文档要求,进行相关参数传递
我将文档示列参数,一股脑全部拷贝至soapUI 模拟器中,点击请求得到如右截图的效果。
错误原因:没有正确处理xml 内容嵌套。
第二步:修改请求参数,处理xml内容嵌套/CDATA嵌套
处理完XML/CDATA嵌套,但是右图还是提示相关错误信息。
造成的错误原因:格式不正确,通过在线xml 检测即可发现xml 文件存在的问题。
XML/CDATA嵌套原因:
在CDATA内部的所有内容都会被解析器忽略。一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束。但是CDATA是不能够嵌套的。
因此CDATA嵌套导致的XML解析错误的问题,参考网上处理方式,解决这个问题只需要将"]]>"替换成"]]]]><
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)