Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Savon: How to change header from being <env:Header> to <soap:Header> or something different

Tags:

soap

ruby

savon

In Savon, is there a way to change

<env:Header>

to be

<soap:Header>

or anything different?

I've tried in the request block putting an additional header tag like this:

soap.header['soap:Header']

But that won't work.

I've browsed Savon Docs and haven't found anywhere to change that tag, only by manually building the XML.

like image 490
LuisVM Avatar asked Jun 30 '11 17:06

LuisVM


2 Answers

EDITED for Savon 1.0.0

The value can be set in the configure block where you can also set logging and other parameters. Simply put

Savon.configure do |c|
  c.env_namespace = :soap
end

into your code.

like image 182
Steffen Roller Avatar answered Oct 06 '22 03:10

Steffen Roller


For newer versions of Savon:

Savon.client(env_namespace: :soapenv) 
like image 31
Joshua Avatar answered Oct 06 '22 03:10

Joshua