私はPHP SoapServerが非wsdlモードで動作しています。データを処理し、setClass() を使用して応答を返すようにサーバーをセットアップしました。連想配列を返そうとしましたが、それはアイテム、キー、値を持つ SOAP マップに変換されます。以下の内容で回答したいと思います。
<soap:Body>
<AsyncResponseOperationResponse xmlns="http://www.sample.com/">
<AsyncResponseOperationResult>
<Succeeded>true</Succeeded>
<Comments>
The operation was a success
</Comments>
</AsyncResponseOperationResult>
</AsyncResponseOperationResponse>
</soap:Body>
変数は、成功が true か false か、およびコメントになります。
「typemap」オプションについて読み込もうとしましたが、十分に文書化されておらず、これまでに発見したことは私をさらに混乱させるだけです。これまでに見つけたリソースは、this oneとthis oneのような php ユニット テストと、この stackoverflow の質問です。
誰かが私がやろうとしていることをする例を教えてもらえますか? 自動検出 (Zend の Soap Server を使用) で wsdl モードに切り替えても問題ないと思います。
編集:正しい方法を理解するまで、すべての XML を手動で書き出すだけです。
header("Content-type: text/xml");
echo "<?xml version="1.0" encoding="utf-8"?><soap:Envelope ...