Question on soap


#1

Hi,

I’m using SOAP::RPC::Driver in order to write a soap client.

They webservice method that I’m using has a complex type as an input
parameter.

When I invoke the webservice method (a login method) I get an error
returned from the webservice saying that I have an invalid uid/pwd
(which I know is not true).

I cannot find any information that says there is a different way of
specifying complex types so I’ve just added the method like:

stub.add_method(‘login’, ‘user_name’, ‘password’, ‘version’,
‘application_name’)

Note the “user_name”, “password” and “version” parameter are part of the
complex type “user_auth” whereas “application_name” is a simple type.

I’ve tested this web method seperately using altova which works just
fine and using SOAP::RPC::Driver on webservices with simple type input
parameters also works as expected.

Any help appreciated …

Cheers,
MikeC


#2

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Mike Carr wrote:

stub.add_method(‘login’, ‘user_name’, ‘password’, ‘version’,
‘application_name’)

Note the “user_name”, “password” and “version” parameter are part of the
complex type “user_auth” whereas “application_name” is a simple type.

Can I see the WSDL of the service, or a sample SOAP request which should
be sent?

The following client may work though.

stub.add_method(‘login’, ‘user_auth’, ‘application_name’)
stub.login(
:user_auth => {:user_name => ‘username’, :password => ‘pwd’},
:application_name => ‘appname’
)

Regards,
// NaHi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)

iD8DBQFD5pzuf6b33ts2dPkRAjdSAKCNDmXKVYtcfcRVntBTihkk7+Db7QCgiRnz
4fB2N3kgCNePoJMAqcYqOl0=
=7y8J
-----END PGP SIGNATURE-----