XSD_ANYXMLエンコーディングを使用せずにSOAPリクエストに属性を設定する方法を見つけることができないようです。
リクエストパラメータは次のようになります
<request
xmlns:ns="/some/ns">
...
<ns:parameter attr="some attribute">
value
</ns:parameter>
...
</request>
もちろん、次のコードは機能しますが、かなり醜いです(SOAP_Client APIを使用する必要がある場所で文字列連結を使用し、一般的な名前空間を使用しないため、醜いです)
$param = new SoapVar(
'<ns_xxx:parameter xmlns:ns_xxx="/some/ns" attr="some attribute">
value
</ns_xxx:parameter>',
XSD_ANYXML
);
名前空間と属性を使用してSOAPリクエストパラメータを作成するためのより良い方法はありますか?
s.thを探しています。次のようになります(これは、 SoapVar APIを使用した疑似コードです)。
$param = new SoapVar(
array(
'_' => 'value',
'attr' => 'some attribute'
),
SOME_ENCODING,
null,
null,
null,
'/some/ns'
);