rubiii/savon — pull request #263 by hoverlover (2012-02-11 05:02:34+00:00)
Title: Soap action can be set via the :soap_action key.

Currently, the symbol you pass to the `Savon::Client#request` method is used in both looking up the soap action in the WSDL, as well as creating the first element in the soap body. I'm using a service who's first element of the soap body is *not* the same as the soap action's name. As far as I could tell, there was no easy way to accomplish this with the current code base.

One possibility is explicitly setting the `SOAPAction` header inside the request block, after the preconfigure has ran. I didn't like that option because the WSDL already has the soap action, and I don't like repeating it in the code. I like the automatic lookup that happens when you pass in a symbol.

For this reason, I've added a `:soap_action` option in the hash parameter of the `#request` method. Having the soap action name and first element of the soap body being different probably goes against the standard, but there are services out there that are written this way, and there was no "easy" way to do this with Savon.