4

我正在用 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。

不幸的是,每个数组都有索引。所以 Vacancy 中的每个 VacancyType 元素都有一个唯一的索引。这似乎抛弃了 WSDL 定义,返回给我的数据只会引发解析错误。我通常会为键对值使用关联数组,但是当我处理的 N 个 VacancyType 实例由于没有唯一引用而无法工作时。

这种情况是否有已知的解决方法(例如:可能是一个对象),或者我应该重新编写我的 WSDL 文档以适应索引数组?

谢谢

4

3 回答 3

1

根据http://sam.xnet.tk/post/15/php-soap-server-part-2/ rpc/literal 风格正在使用 xsd 序列。但是,我也无法使其与文档/文字包装样式一起使用。

于 2011-07-19T10:11:58.430 回答
0

毕竟找到了解决办法:我用mysefl构造XML并使用

new SoapVar('<myitem>...</myitem><myitem>...</myitem>', XSD_ANYXML);
于 2011-07-19T10:19:06.920 回答
0

你试过nuSAOP吗?不需要其他已安装的 PHP 库:

根据 PHP 文档,PHP 支持SOAP 1.1、SOAP 1.2 和 WSDL 1.1 的子集。

于 2011-02-17T22:05:28.287 回答