我需要将此属性(xmlns:wsa="http://www.w3.org/2005/08/addressing")添加到soap标头中,如下所示:
<env:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
</env:Header>
我该怎么做,使用 Savon?
我需要将此属性(xmlns:wsa="http://www.w3.org/2005/08/addressing")添加到soap标头中,如下所示:
<env:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
</env:Header>
我该怎么做,使用 Savon?
在我的情况下,我实际上能够对问题进行另一种解决方法,因为我的端点会接受这个:
<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
干杯,丹尼尔”
foo = client.request do soap.header['xmlns:wsa'] = 'http://www.w3.org/2005/08/addressing' 结束
您可以将自己的命名空间添加到请求中,如下所示:
resp = client.request :soap_action do
soap.namespace['xmlns:wsa'] = 'http://www.w3.org/2005/08/addressing'
end