rubyweb-servicessoap4r

Ruby Soap4R Web Service, .NET Consumer


How do I generate WSDL from a Web Service in Ruby using Soap4R (SOAP::RPC::StandaloneServer) that would be consumed from .NET?


Solution

  • There's not a way to do this through SOAP4R, unfortunately. SOAP4R is more for interacting with SOAP endpoints, or generating your own through a WSDL specification.

    The only Ruby code I know that does this comes from ActionWebService, which was part of Rails, pre-Rails 2. If you install the gem actionwebservice (you'll have to force it, most likely), you can look at the method to_wsdl in the file lib/action_web_service/dispatcher/action_controller_dispatcher.rb. This builds WSDL using the Builder library. The definitions for the WSDL are defined using methods in ActionWebService::API. It should not be too hard to extract that code into something you can use for your project.