我在使用类创建PHP Soap Request
时遇到问题。低于WSDL的一部分。
<s:element minOccurs="0" maxOccurs="1" name="Bars" type="tns:ArrayOfBars"/>
<s:complexType name="ArrayOfBars">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Bar" nillable="true" type="tns:Bar"/>
</s:sequence>
</s:complexType>
<s:complexType name="Bar">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Name" type="s:string"/>
... --more elements-- ...
</s:sequence>
</s:complexType>
在课堂下面
class Foo
{
public $Bars;
public function __construct()
{
$this->Bars = array();
}
}
class Bar
{
public $Name;
public function __construct()
{
$this->Name = null;
}
}
如何在下面创建请求?据我所知,这是一个有效的请求,因为Bar
元素是可以为空的。
<ns1:Foo>
<ns1:Bars>
<ns1:Bar xsi:nil="true"/>
</ns1:Bars>
<ns1:Foo>
当我将Bars
属性更改为array(null)
时,我收到错误Object reference not an instance of an object.
。当我将其更改为array(new Bar())
时,它必须是完整有效的Bar
对象。