知道我在wsdl中定义了一些complexType,我可以通过http://www.example.com/webservice?wsdl通过SOAP访问,并且这个web服务确实声明了这样的complexType(这只是wsdl的片段):
<xsd:complexType name="customer">
<xsd:sequence>
<xsd:element name="firstname" type="xsd:string" minOccurs="0" />
<xsd:element name="lastname" type="xsd:string" minOccurs="0" />
<xsd:element name="address" type="typens:address" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="address">
<xsd:sequence>
<xsd:element name="street" type="xsd:string" minOccurs="0" />
<xsd:element name="city" type="xsd:string" minOccurs="0" />
<xsd:element name="postcode" type="xsd:string" minOccurs="0" />
<xsd:element name="country" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
有一种简单的方法可以通过PHP中的SOAP来创建一个空数组或对象,它将是这个complexType的一个实例吗?
预期的行为是
object(stdClass)[1]
public 'firstname' => null
public 'lastname' => null
public 'address' =>
object(stdClass)[2]
public 'street' => null
public 'city' => null
public 'postcode' => null
public 'country' => null
或者
array (size=3)
'firstname' => null
'lastname' => null
'address' =>
array (size=4)
'street' => null
'city' => null
'postcode' => null
'country' => null
答案 0 :(得分:1)
Github上有一个项目旨在解决同样的问题。
查看WSDL2PHPGenerator并查看它是否符合您的要求(该项目还活着并且仅在上个月就安装了大约3000个,所以我认为这是一个安全的选择)。根据它的页面,它需要一个WSDL文件并输出准备使用的类文件。
希望这有帮助!祝你好运。