[英]Structuring PHP array for use in SOAP with WSDL
我正在编写一个带有PHP 5.2的SoapServer,以便将空缺列表返回给另一个应用程序。 我的WSDL文档需要一个复杂的类型:
<xsd:element name="Vacancies">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Vacancy" type="ns:VacancyType" minOccurs="0" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
我的函数是生成一个大的嵌套数组来组装每个空位,然后将数组数组(即:空位)返回给SoapServer。
不幸的是,每个数组都被编入索引。 因此,职位空缺中的每个VacancyType元素都有一个独特的索引。 这似乎抛弃了WSDL定义,返回给我的数据只会引发一个解析错误。 我通常使用关联数组作为密钥对值,但是因为我正处理的是VacancyType的n个实例,因为没有唯一的引用。
是否存在针对此类场景的已知解决方法(例如:可能是对象),还是应该重新编写WSDL文档以满足索引数组的要求?
谢谢
根据http://sam.xnet.tk/post/15/php-soap-server-part-2/,rpc / literal样式正在使用xsd序列。 但是,我也无法使用document / literal包装样式。
你试过nuSAOP了吗? 不需要其他已安装的PHP库:
根据PHP文档,PHP支持SOAP 1.1,SOAP 1.2和WSDL 1.1的子集 。
毕竟,我找到了一个解决方案:我通过mysefl构建XML并使用
new SoapVar('<myitem>...</myitem><myitem>...</myitem>', XSD_ANYXML);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.