7

SoapClientがリクエストで属性を設定することをどのように期待しているかについては、多くの説明を見つけましたが、レスポンスから属性を読み取る方法を見つけることができません。

たとえば、私の SoapClient 応答には次の要素が含まれています。

...
<ns:index>
   <ns:uid expdate="2013-09-03 14:30:00">JOWtest002</ns:uid>
   <ns:uid expdate="2013-02-07 15:00:00">JOWtest003</ns:uid>
</ns:index>
...

ただし、「expdate」属性が「index」stdClass に関連付けられることはありません。

["index"]=>
  object(stdClass)#80 (1) {
  ["uid"]=>
    array(2) {
    [0]=>
      string(10) "JOWtest002"
    [1]=>
      string(10) "JOWtest003"
    }
}

SoapClient クラスマップを使用してこれをオブジェクトにバインドしようとしましたが、残念ながら、WSDL は「uid」要素を complexType として定義していないため、属性もマップしません。「インデックス」自体をクラスにバインドしても機能しません。

助言がありますか?XML を SimpleXML または DOMDocument に渡すことで、XML の解析を避けたいと思っています。

4

1 に答える 1