我已经定义了一个 SOAP webservice,它的 xsd 类型定义了一个不可重复的字段。
如果我提供了该字段的多次出现,我希望 PHPSoap 抛出异常或错误,但它会将其转换为数组(如果允许重复,则如预期的那样)。
这是 WSDL 的 XSD 部分的摘录:
<xsd:complexType name="OrderItem">
<xsd:sequence>
<xsd:element type="xsd:string" name="orderId" maxOccurs="1"/> <!-- maxOccurs is useless as default value is 1 but to be suremore than ... -->
<xsd:element type="xsd:string" name="sku"/>
</xsd:sequence>
</xsd:complexType>
如果我发送此请求消息,我会在 SOAP 层后面得到一个数组(我预计会出现异常):
<OrderItem>
<orderId>12345685</orderId>
<sku>SKU123456</sku>
<orderId>12345686</orderId>
</OrderItem>
这是收到的 OrderItem 对象的 var_dump:
OrderItem::__set_state(array(
'orderId' =>
array (
0 => '12345685',
1 => '12345686',
),
'sku' => 'SKU123456',
)
这是正常的吗?