質問

たいと思い返しオブジェクトを使用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>

そのアイデア?感謝。

役に立ちましたか?

解決

あなたは、クライアントに「クラスマップ」オプション変数を渡す必要があります。

を参照してください両方 http://www.php.net/manual/en/ soapclient.soapclient.php http://www.php.net /manual/en/soapclient.soapclient.php のオプションの配列で渡された「クラスマップ」オプションに関するます。

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

他のヒント

あなたはキャッシュをオフにしてみましたか?

PHPでどのようにWSDLのキャッシュをクリアすることができますか?

私は同じ問題を抱えていました。私が作ったすべての要求は、WSDLが正しかったにもかかわらず、私の空はstdClassを返されました。キャッシュを無効にした後、それは私のために罰金を働きました。それを試してみる。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top