2011-02-13 49 views
2

當我開始這個時,我對SOAP或它的工作原理一無所知。我在前幾個小時學到了很多東西,結果是SOAP服務(我正在用PHP編寫)的操作測試。我能夠在PHP和Visual Studio中創建SOAP客戶端(這正是我真正想要的)並返回我想要的信息。由於這只是一個測試,我想要返回更多(和更好格式)的信息,所以我開始搞亂了它。我添加了一些類型並編寫了一些我導入的模式。當我完成添加所需的所有內容時(這只是一個結果),我保存了所有內容並進行了測試。它沒有錯誤地運行,但沒有返回任何東西。用PHP SOAP服務返回一個數組

我想返回一個具有8個元素,不同類型的數組。以下是數組的元素和類型:

標題 - 字符串 LINKID - INT 日期 - 詮釋 作者 - 字符串 內容 - 串 標識 - 詮釋 圖標 - INT 編輯 - 布爾

的函數GetNews將返回這些數組中的25個(每頁,輸入是一個整數,用於獲取結果的頁面)。

我想不出如何序列化數組,以便SOAP將正確地返回它。

這裏的URL到我的WSDL文件:

http://api.infectionist.com/soap.wsdl

請幫我,我完全被卡住。我看不出代碼有什麼問題,並且它在PHP和Visual Studio中運行時沒有錯誤,它只是返回一個空的結果。

回答

0

我猜你試圖從PHP內部一次返回整個數組?如果是這樣,你需要確保你返回一個XML字符串。像:

<?php 

return ' 
    <data> 
     <title>Actual title</title> 
     <linkId>154278</linkId> 
     ... 
    </data> 
'; 

?> 

您是否考慮過使用JSON字符串作爲從SOAP服務器發送數據的替代方法?這將允許您在一個元素中擁有所需的所有元素,並保留後期添加/刪除元素的靈活性(您需要通知您的客戶端)。