2012-10-16 67 views
0

我遇到了一些WSDL服務的問題,如果我使用php的內置soap類來創建$ client和__call函數。使用php的WSDL soap返回對象和數組的混合?

的輸出對象和數組像

[AvailableRatePlans] => stdClass Object 
         (
          [RatePlanAvail] => Array 
           (
            [0] => stdClass Object 

混合,當我使用「舊」 nusoap.php我剛剛得到陣列回來。

我做錯了什麼?任何提示,建議?

關於

+0

嗯,不漂亮,但目前我轉換最後一個對象,我必須使用objectToArray解析http://www.if-not-true-then-false.com/2009/php-tip-convert- stdClass的對象到多維陣列 - 轉換 - 多維陣列到stdClass的對象/ – alex

回答

0

PHP會將響應轉換爲stdClass對象,並且沒有任何問題。這只是處理響應XML的方式。

你沒有做錯任何事情,但它只是SOAP擴展處理ComplexType webservice的方式,取決於WSDL結構。

爲了簡單起見,您可以簡單地將它與數組一起施放,並且在使用nusoap庫時應該與舊方式一樣好。

$Response = (array)$Response; 

stdClass對象將被轉換爲沒有任何問題的關聯數組。