使用arrayofstring类型在SOAPUI中生成请求

时间:2011-10-18 13:27:20

标签: soap

我正在尝试在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类型,但无法得到有关它的用法的详细解释。

有人可以帮助我吗?

2 个答案:

答案 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)

OMG,有一段时间没见过。你得到的是一个SOAP数组,ArrayOfStringsoapenc:Array的子类型。我想。

您可以找到的最佳信息来源是SOAP specification itself, section 5.4.2.Arrays

但请注意,SOAP数组是一个奇怪的野兽,因为它被不正确地理解,所以它产生了一些问题。对于这个事实,WS-I Basic Profile discourages its use,因为有更好的方法来声明数组(使用带有maxOccurs="unbounded"的元素)。

如果您可以控制Web服务,我建议将其更改为无限的元素列表。