ruby - 如何使用 Savon 将属性添加到 SOAP header ?

标签 ruby soap savon ws-addressing

我需要将此属性 (xmlns:wsa="http://www.w3.org/2005/08/addressing") 添加到 soap header ,如下所示:

<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 创建者的回复:

“嘿,麦格尼,”

查看创建 header 和正文标签的代码,似乎没有 现在无需猴子修补就可以添加任何属性/命名空间:

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

干杯, 丹尼尔”


关于ruby - 如何使用 Savon 将属性添加到 SOAP header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004841/

相关文章:

ruby - 在 ruby​​ 中使用 Savon gem 发送 SOAP 请求

ruby-on-rails - 如何在 rails 中组合 2 个数组,使得没有重复项

java - 如何在不设置系统范围属性的情况下将 HTTP 代理用于 JAX-WS 请求?

java - Jax Ws 与 PHP 客户端始终发送 Null parm

soap - Dynamics CRM 2011 SOAP 服务/web

ruby - 正确构造此 SOAP header 吗?

ruby-on-rails - 在没有 ActiveRecord 的情况下使用 Ruby on Rails

ruby - 在 Ruby 中创建按公共(public)键值分组的新哈希

ruby - Nokogiri + ERB 标签未排序

ruby-on-rails - 使用 Netsuite Ruby Gem 获取事务时出错 - Savon::SOAPFault: (soapenv:Server.userException)