私は PHP SoapServer クラスを使用しており、SOAP 応答の本文にプレーンな XML を入れようとしています。
ケース 1:
私の WSDL には
<element name="getDataResponse" type="xsd:string"/>
応答をエンコードします
return new SoapVar($my_xml,XSD_ANYXML)
PHP SoapClient 言う
SOAP-ERROR: Encoding: Violation of encoding rules
ケース 2:
WSDL
<element name="getDataResponse" type="xsd:string"/>
応答エンコーディング
return new SoapVar($my_xml,XSD_STRING)
応答 XML にはすべての < が < としてエンコードされています。そして > として >
ケース 3:
WDSL
<element name="getDataResponse">
<complexType>
...
</complexType>
</element>
ここで、complexType は、返す XML の構造に対応します。
応答エンコーディング
return new SoapVar($my_xml,XSD_ANYXML)
戻り値の型が XML 文字列ではなくオブジェクトになりました
ケース 4
SOAP_ENC_OBJECT としてエンコードすることを除いて、ケース 3 と同じです。ここでも結果はオブジェクトになります。
助けてください!SOAP 応答の本文として単純な XML テキストを取得するにはどうすればよいですか?