向Savon(2.2.0)SOAP标头添加属性

时间:2013-04-29 15:32:14

标签: ruby soap wsdl xml-namespaces savon

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

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

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

萨文目前输出:

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

遗憾的是无法验证。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:-1)

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

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

希望它对你有用。