From: Marco Sangiorgi on
Hello everybody, I'm using the following to get a driver to call to some
functions on a remote soap described by wsdl:

require 'soap/wsdlDriver'
wsdl = "mywsdluri"
client = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver

Then I can easy call soap methods with client.method_name, but I'm not
able to figure out if I could get a simple list of paramaters those
methods requires.

I've found this ticket [1], with dump_method_signature that seems to be
something like what I'm searching for, but I could't understand how to
use it.

Some ideas?

Thanks in advance
Marco Sangiorgi



[1] http://dev.ctor.org/soap4r/changeset/1922
--
Posted via http://www.ruby-forum.com/.

From: Marco Sangiorgi on
No one could help me? :(
--
Posted via http://www.ruby-forum.com/.

From: Capitan Yesterday on
On 27 Mag, 14:09, Marco Sangiorgi <ingegnerli...(a)gmail.com> wrote:
> No one could help me? :(
> --
> Posted viahttp://www.ruby-forum.com/.

Can't you just look in the wsdl?
When I used soap4r I did something like:

params = {:param1 => 'some_value', :param2 => 42};
response = driver.my_method params

I took :param1 and :param2 names directly from the wsdl method
definition.
Otherwise, you can use wsdl2ruby...
Hope it helps
From: Marco Sangiorgi on
Capitan Yesterday wrote:
> On 27 Mag, 14:09, Marco Sangiorgi <ingegnerli...(a)gmail.com> wrote:
>> No one could help me? :(
>> --
>> Posted viahttp://www.ruby-forum.com/.
>
> Can't you just look in the wsdl?
> When I used soap4r I did something like:
>
> params = {:param1 => 'some_value', :param2 => 42};
> response = driver.my_method params
>
> I took :param1 and :param2 names directly from the wsdl method
> definition.
> Otherwise, you can use wsdl2ruby...
> Hope it helps

First of all, thanks for your answer :)

The problem is that I have to automatically build html form from each
soap method, so I have to know how and how many params each method takes
without look in the wsdl...

Something like this! [1]

Some ideas? Thanks a lot again,
Marco Sangiorgi


[1] http://www.service-repository.com/client/start
--
Posted via http://www.ruby-forum.com/.

From: Capitan Yesterday on
Have you tried sending dump_method_signatures to a WSDLDriverFactory
object?
Right now I'm on a windows machine (with ruby 1.8.6) and
WSDLDriverFactory doesn't have that method, so I can't try. It should
include WSDL::SOAP::ClassDefCreatorSupport and so you should be able
to call dump_method_signatures.
Otherwise, you could try to iterate on the services/ports of the wsdl
attribute of a factory object, just like dump_method_signature does. I
am no expert, so don't take my suggestions too seriously :-)

Bye