2013-04-29 66 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"}}) 

希望它會爲你工作。