0

Zend_Soapを使用してオブジェクトを返したいのですが。また、WSDLファイルで指定されたオブジェクトが必要です。しかし、私は両方を一緒に働かせることはできません。それはどちらか一方です。

1. WSDLは機能していますが、オブジェクトが返されません

石鹸サーバースクリプトの関数のphpdocに、次のように記述します。

 @return Application_Model_Soap_Test

WSDLファイルで確認できます

<message name="getPostcodeOut">
    <part name="return" type="tns:Application_Model_Soap_Test"/>
</message>

しかし、スクリプトを実行すると、空のクラスが返されます。

stdClass Object
(
)

2.オブジェクトを取得しますが、WSDLが間違っています

サーバー関数のphpdoc情報をに変更した場合

@return mixed Application_Model_Soap_Test

私は情報とともにオブジェクトを取り戻します:

stdClass Object
(
    [name] => Fred
    [age] => 40
)

しかし、WSDLファイルは間違っています

<message name="getPostcodeOut">
    <part name="return" type="xsd:anyType"/>
</message>

何か案は?ありがとう。

4

2 に答える 2

1

クライアントで「classmap」オプション変数を渡す必要があります。

で渡される「classmap」オプションについては、http: //www.php.net/manual/en/soapclient.soapclient.phpとhttp://www.php.net/manual/en/soapclient.soapclient.phpの両方を参照してください。オプション配列。

基本的には、WSDLファイルで返されるオブジェクトとして定義されたクラスにクラスをマッピングする配列である必要があります。

于 2010-12-09T16:36:24.700 に答える
0

キャッシュをオフにしようとしましたか?

PHPでは、WSDLキャッシュをどのようにクリアできますか?

私も同じ問題を抱えていました。WSDLが正しい場合でも、要求を行うたびに空のstdclassが返されました。キャッシュを無効にした後、それは私にとってはうまくいきました。試してみる。

于 2012-06-14T08:55:16.217 に答える