Get methods params type soap4r

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/.

No one could help me? :frowning:

···

--
Posted via http://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

···

On 27 Mag, 14:09, Marco Sangiorgi <ingegnerli...@gmail.com> wrote:

No one could help me? :frowning:
--
Posted viahttp://www.ruby-forum.com/.

Capitan Yesterday wrote:

No one could help me? :frowning:
--
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 :slight_smile:

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

···

On 27 Mag, 14:09, Marco Sangiorgi <ingegnerli...@gmail.com> wrote:

--
Posted via http://www.ruby-forum.com/\.

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 :slight_smile:

Bye

Capitan Yesterday wrote:

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 :slight_smile:

Bye

Hi Capitan Yesterday, and thanks again for your answer :slight_smile:

dump_method_singature works, but only for simple type. For complex ones,
it only show type's name. :frowning:

···

--
Posted via http://www.ruby-forum.com/\.

Marco Sangiorgi wrote:

Capitan Yesterday wrote:

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 :slight_smile:

Bye

Hi Capitan Yesterday, and thanks again for your answer :slight_smile:

dump_method_singature works, but only for simple type. For complex ones,
it only show type's name. :frowning:

I've tried for several days to resolve my problem, I think I'll give it
up :frowning:

···

--
Posted via http://www.ruby-forum.com/\.