我使用Web服务时,我有这个从WSDL的阵列创建SOAP请求复杂类型
<!--Complex Type for PersonAddress-->
<xs:complexType name="PersonAddress">
<xs:sequence>
<xs:element name="Address" type="Address" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<!--Complex Type for Address-->
<xs:complexType name="Address">
<xs:sequence>
<xs:element name="Addr1" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="Addr2" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="City" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="State" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="Zip" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
使用生成的代理,我创建PersonAddress的Collection并将Address对象添加到它。
...
var convertedAddresses = new PersonAddress[addressesToCounvert.Count];
for (int i = 0; i < addresses.Count; i++)
{
convertedAddresses[i] = ConvertAddress(addresses[i]);
}
person.PersonAddresses = convertedAddresses;
...
当我提交请求时,它看起来像这样
<PersonAddress>
<Address>
...
</Address>
</PersonAddress>
<PersonAddress>
<Address>
...
</Address>
</PersonAddress>
所以我在做什么wrong..the需要的格式将
<PersonAddress>
<Address>
...
</Address>
<Address>
...
</Address>
</PersonAddress>
感谢任何输入
您可以更改'maxOccurs =架构中的PersonAddress/Address是否为= maxOccurs =“unbounded”=“1” – RichardTowers
谢谢!这似乎是问题。 – Chris