簡體   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