繁体   English   中英

使用WSDL构建用于SOAP的PHP数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM