2013-04-29 65 views
1

我正在处理WSDL服务,该服务似乎只在标头中发送的其中一个身份验证标记中设置了xmlns属性时返回。我使用萨翁2.2.0如果我通过测试工具发送下面的工作:向Savon(2.2.0)SOAP标题添加属性

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

但我没有发现添加的属性标签的方式(因为它是在头) 。对于这个问题,有几个老问题,但没有一个看起来像是Savon的V2。

萨翁目前输出这样的:

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

不幸的是身份验证失败。

非常感谢任何建议。

回答

-1

尝试设置soap_header属性,在客户端的定义是这样的:

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

希望它会为你工作。