Я должен построить следующую структуру WSDL:
<xs:element name="sobre">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="encabezado" type="tns:encabezadoSobre"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="cuerpo" type="tns:cuerpoSobre"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Но похоже, что архитектура nuSOAP не позволяет мне это делать.
Со следующим кодом:
$server->wsdl->addComplexType(
'sobre',
'complexType',
'struct',
'sequence',
'',
array(
'encabezado' => array('name' => 'aem:encabezado', 'type' => 'tns:encabezadoSobre'),
'cuerpo' => array('name' => 'aem:cuerpo' , 'type' => 'tns:cuerpoSobre')
)
);
У меня есть следующая структура:
<xsd:complexType name="sobre">
<xsd:sequence>
<xsd:element name="encabezado" type="tns:encabezadoSobre"/>
<xsd:element name="cuerpo" type="tns:cuerpoSobre"/>
</xsd:sequence>
</xsd:complexType>
Я нашел похожую проблему в Вот но ответы там не помогли мне.
Итак, чтобы подвести итог, мне нужно создать элемент с именем «sobre» и complexType внутри этого элемента.
У меня в среднем 20 веб-сервисов с одной и той же проблемой, поэтому перестроить его, используя другой фреймворк или родное мыло php, было бы последним последним вариантом.
Попробуй это:
$server->wsdl->addComplexType(
'sobre',
'complexType',
'struct',
'sequence',
'',
array(
'encabezado' => array('name' => 'aem:encabezado', 'minOccurs' => '0', 'maxOccurs' => '1', 'type' => 'tns:encabezadoSobre'),
'cuerpo' => array('name' => 'aem:cuerpo', 'minOccurs' => '0', 'maxOccurs' => 'unbounded', 'type' => 'tns:cuerpoSobre')
)
);
Других решений пока нет …