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