【问题标题】:Adding attributes to Savon (2.2.0) SOAP Headers向 Savon (2.2.0) SOAP 标头添加属性
【发布时间】:2013-04-29 15:32:13
【问题描述】:

我正在处理一个 WSDL 服务,该服务似乎只有在标头中发送的身份验证标签之一中设置了 xmlns 属性时才会返回。我使用的是 Savon 2.2.0,如果我通过测试工具发送它,以下将起作用:

 <AuthenticationHeader xmlns="XXX">
  <SessionID>XXX</SessionID>
</AuthenticationHeader>

但我发现无法将属性添加到标签中(因为它在标题中)。对此有一些关于 SO 的较早问题,但似乎没有关于 Savon v2 的问题。

Savon 当前输出如下:

 <AuthenticationHeader>
  <SessionID>XXX</SessionID>
</AuthenticationHeader>

不幸的是,它未能通过身份验证。

非常感谢任何建议。

【问题讨论】:

    标签: ruby soap wsdl xml-namespaces savon


    【解决方案1】:

    尝试在您的客户端定义中设置soap_header 属性,如下所示:

    client = Savon.client(
      wsdl: "http://....",
      soap_header: {"AuthenticationHeader xmlns=\"XXX\"" => {"SessionID"=> "XXX"}})
    

    希望它对你有用。

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多