2013-04-29 5 views
1

Я работаю против службы WSDL, которая, кажется, возвращается только в том случае, если в одном из тегов аутентификации, отправленных в заголовках, установлен атрибут xmlns. Я использую Савон 2.2.0 и следующий будет работать, если я отправить его с помощью тестового инструмента:Добавление атрибутов в Savon (2.2.0) Заголовки SOAP

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

Но я не нашел способ добавления в атрибуте тега (как в заголовке) , Для этого было несколько более старых вопросов по SO, но ни один из них, похоже, для v2 Савона.

Савон в настоящее время выдает это:

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

Который, к сожалению, не в состоянии проверить подлинность.

ЛЮБЫЕ предложения были высоко оценены.

ответ

-1

Попытка установить soap_header атрибут в определениях клиента, как это:

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

Надеется, что это будет работать для вас.

Смежные вопросы