2

次のように、この属性(xmlns:wsa = "http://www.w3.org/2005/08/addressing")をsoapヘッダーに追加する必要があります。

<env:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
</env:Header>

Savonを使用してこれを行うにはどうすればよいですか?

4

3 に答える 3

2

私のエンドポイントはこれを受け入れるので、私の場合、実際に問題に対して別の回避策を講じることができました。

<env:Header>
  <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">value</wsa:Action>
</env:Header>

元の質問を調査すると、Savonの作成者からの回答は次のとおりです。

「ねえマグネ、

ヘッダータグと本文タグを作成するコードを見ると、現時点ではモンキーパッチなしで属性/名前空間を追加することはできないようです。

https://github.com/rubiii/savon/blob/v0.9.7/lib/savon/soap/xml.rb#L151

それでもこの機能が必要な場合は、チケットを開いてください。私に何ができるかがわかります: https ://github.com/rubiii/savon/issues

私は現在、ライブラリを改善するための新しいアプローチをとることに深く関わっています。そのため、いつ問題を解決できるかわかりません。しかし...私はこの機能が実装されるまで役立つはずの小さなモンキーパッチを一緒にハッキングしました:

https://gist.github.com/1698636

乾杯、ダニエル」


于 2012-02-03T10:32:10.273 に答える
0

次のように、リクエストに独自の名前空間を追加できます。

resp = client.request :soap_action do
    soap.namespace['xmlns:wsa'] = 'http://www.w3.org/2005/08/addressing'
end
于 2012-01-26T03:55:42.880 に答える
0

foo = client.request do soap.header ['xmlns:wsa'] ='http://www.w3.org/2005/08/addressing' end

于 2012-02-02T20:43:01.987 に答える