我必须按照 WSDL 规范为 SOAP 生成一个 PHP 类,并且这个 WSDL 有 2 种不同的复杂类型,像这样(一种称为“method1”,另一种称为“Method1”):
<xs:complexType name="method1">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="tns:Method1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Method1">
<xs:sequence>
<xs:element name="name" type="xs:long"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:sequence>
</xs:complexType>
因此,PHP 类将像这样生成,但是当执行 Web 服务时,我会收到错误“文档末尾的额外内容”,因为这两个类具有相同的名称。
class method1 {
/** @var Method1 */
var $return;
}
class Method1 {
/** @var int */
var $name = '';
/** @var mixed */
var $any = '';
}
有什么办法可以解决这个问题?问题是我必须遵循另一家公司的 WSDL 规范,所以它应该有这两种复杂类型。谢谢