我正在尝试在SOAP UI工具中生成SOAP请求。 SOAP请求看起来像
<soapenv:Body><pur:purge soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<name xsi:type="xsd:string">?</name>
<pwd xsi:type="xsd:string">?</pwd>
<network xsi:type="xsd:string">?</network>
<opt xsi:type="pur:ArrayOfString" soapenc:arrayType="xsd:string[]"/>
<uri xsi:type="pur:ArrayOfString" soapenc:arrayType="xsd:string[]"/>
</pur:purgeRequest>
我无法理解如何传递opt和uri的值?
我尝试将uri数组作为
<uri>
<url>url 1</url>
<url>url 2</url>
</uri>
哪个错了!
我也在尝试搜索ArrayOfString类型,但无法得到有关它的用法的详细解释。
有人可以帮助我吗?
答案 0 :(得分:8)
以下代码适合您,
<soapenv:Body><pur:purge soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<name xsi:type="xsd:string">?</name>
<pwd xsi:type="xsd:string">?</pwd>
<network xsi:type="xsd:string">?</network>
<opt xsi:type="pur:ArrayOfString" soapenc:arrayType="xsd:string[2]">
<item>Enter the value here..</item>
<item>Enter the value here..</item>
</opt>
<uri xsi:type="pur:ArrayOfString" soapenc:arrayType="xsd:string[1]">
<item>Enter the value here..</item>
</uri>
</pur:purgeRequest>
答案 1 :(得分:3)
ArrayOfString
是soapenc:Array
的子类型。我想。
您可以找到的最佳信息来源是SOAP specification itself, section 5.4.2.Arrays。
但请注意,SOAP数组是一个奇怪的野兽,因为它被不正确地理解,所以它产生了一些问题。对于这个事实,WS-I Basic Profile discourages its use,因为有更好的方法来声明数组(使用带有maxOccurs="unbounded"
的元素)。
如果您可以控制Web服务,我建议将其更改为无限的元素列表。