在WSDL2PHP生成的类方法中为数组类型提示?

时间:2012-06-11 20:22:45

标签: php oop wsdl wsdl2php

我正在使用从WSDL生成的类代码到PHP中。让我兴奋的是编写类方法的方式,这样简单的数组似乎就成了不存在的类的对象。

特别是这个TFolderArray应该由docs是一个简单的TFolder对象数组:

<xsd:complexType name="TFolderArray">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:TFolder[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>

TFolderArray的文档将其定义为TFolder结构的数组。但是,如果将这样的数组传递给GetOpportunityList()(见下文),它将抛出

  

传递给Exchange :: GetOpportunityList()的参数3必须是   TFolderArray的实例,给定的数组

如果您尝试实例化该类的对象,请正确获取Class 'TFolderArray' not found

如果你删除$ FolderArray是TFolderArray实例的限制,只是传递一个TFolder对象数组,那么这个功能就是我所期望的。

类渲染软件错误解释了WSDL吗?对于$ FolderArray,类型提示只是'array'吗?或者有没有一种方法可以“输入”数组,尽管没有类存在?这是方法:

public function GetOpportunityList(TLoginInfo $LoginInfo, $AllRecords, TFolderArray $FolderArray) {
    return $this->__soapCall('GetOpportunityList', array($LoginInfo, $AllRecords, $FolderArray),       array(
            'uri' => 'urn:ExchangeService:Exchange33',
            'soapaction' => ''
           )
      );
  }

0 个答案:

没有答案