У меня проблемы с созданием 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
объект.
Задача ещё не решена.
Других решений пока нет …