【Unmarshalling Error: unexpected element、Expected elements are <{}arg0> 】Postman、SoapUI调用测试SOAP接口

20 篇文章 1 订阅
7 篇文章 0 订阅

Webservice—SOAP报文的特殊字符转义

  soap报文请求Webservice时,经常会遇到特殊字符导致接口报错;这时候需要转义处理;

   常见的转义字符如下:

&&
''单引号
""双引号
> >大于号
&lt;<小于号

  转义之后的数据如果是在js等前端处理,会正常显示转义前的符号,无需再做处理;

1、什么是webservice(soap)接口?

webservice是一个web的应用程序,使用xml向外界暴露可供调用的API接口。

实际上,webservice的主要日标是跨平台的可互操作性。为了达到这一日标,webservice完全基于XML(可扩展标记语言)、XSR(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

  • webservice的接口标准:
    • SOAP(Simple Object Access Protocol)=http+xml
    • UDDI(UnviversalDescription,DiscoveryandIntegration)
    • WSDL(Web Service Description Language),描述语言,基于xml。
  • soap是基于XML的简易协议,可使应用程序在 HTTP 之上进行信息交换。
  • XML本身是一种用于传输和存储数据的一种文本文件。
  • soap可以理解为:http+xml

不同的接口的请求头不一样,就在不同的接口下面添加一个http信息头管理器,并填写该接口的请求头内容就可以了。

xml格式的消息体(请求体Body)示例数据:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wrap="http://wrap.orderzw_bg.hbss.zznode.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <wrap:acceptOrder>
         <!--Optional:-->
         <arg0>?</arg0>
      </wrap:acceptOrder>
   </soapenv:Body>
</soapenv:Envelope>

xml格式的消息体(请求体Body)释义:
所有的SOAP消息都使用XML编码,一条SOAP消息就是一个普通的XML文档,仔细观察,文档有如下元素:

  • Envelope(信封):必选,可把此XM文档标识位一条SOAP消息。代表消息的XML文件的根元素,它为消息如何处理,由谁处理定义了框架。
  • Header(报头):可选,包含头部信息,消息在达到最终目的之前,能够被路由到一个或多个中间节点的信息。添加特性到SOAP消息的基本机制,它可以容纳任何数目的扩展基础协议的子元素。例:header子元素可能定义认证信息,事务信息,本地信息等。处理消息的软件可以在没有事先约定的情况下,使用这个机制定义谁应该处理某个特性,以及该特性是强制的还是可选的。
  • Body(主体):必选,包含所有调用和响应信息。它是发给消息最终接收者的强制信息的容器,SOAP消息还可以容纳一个附件,它不一定非得是XML文件。所有以上的元素均被声明于针对SOAP封装的默认命名空间中。

2、SoapUI请求soap接口示例 

第一步:点击New SOAP Project

第二步:输入Project Name 名称 和 你的soap接口地址

第三步:左侧菜单栏,找到(soap)前缀的Rquest,双击打开编写请求体

第四步:发起请求

3、Postman请求soap接口示例 

请求方式:POST

Headers:Content-Type = text/xml

Body(示例):

4、 注意

请求接口时未转义特殊字符则会反馈:Expected elements are &lt;{}arg0> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值