0

PHP のビルトイン SOAP クラスを使用して $client および __call 関数を作成すると、WSDL サービスで問題が発生します。

出力は、次のようなオブジェクトと配列の混合です

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

「古い」nusoap.php を使用すると、配列が返されます。

私は何を間違っていますか?ヒント、提案はありますか?

よろしく

4

1 に答える 1

0

PHP は応答を stdClass のオブジェクトに変換しますが、問題はありません。これは、応答 XML を処理する方法にすぎません。

あなたは何も悪いことをしていませんが、それは WSDL 構造に応じて ComplexType Web サービスを処理する SOAP 拡張機能です。

簡単にするために、配列でキャストするだけで、nusoap libを使用していたときの古い方法と同じくらい良いはずです。

$Response = (array)$Response;

stdClass オブジェクトは問題なく連想配列に変換されます。

于 2012-10-16T14:29:01.287 に答える