How to instantiate SAVON::Client object from a wsdl stored locally


I am using SAVON to consume webservices in my project. Savon lib uses
the hosted wsdl to instantiate SAVON::Client object.

I have to consume a WCF .net webservice. Its hosted WSDL does not have
the message info ie. request-response message information. It is hidden.
Thus, the SAVON::Client object instantiated from the hosted wsdl is not
able to generate stubs of the methods/soap actions supported by the

So is there any way to instantiate SAVON::client from a wsdl stored at a
physical location instead of using the hosted one.

Or is there any way to create stubs from a WSDL stored locally using
SAVON gem.

I am using ruby 1.9.2. I tried using SOAP4r but no success. SAVON did
work with ruby 1.9.2 but with the hosted wsdls that do have messages

Payal P.

Have you tried a file:// url?

Is there some reason you want the WSDL? Savon can work fine without it.

Have I mentioned I hate SOAP? :slight_smile:

Hi Payal,
I guess that your problem must have been solved by now. If not then
please refer code snippet below: do
  wsdl.document = path_to_wsdl


If life was fair, Elvis would be alive and all the impersonators would

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs