in reply to Re: SOAP and .NET Web Services
in thread SOAP and .NET Web Services

SOAP::Lite::on_action() is used to set a function that will be used to generate the SOAPAction header value. Arg 0 is the SOAP URI, and Arg 1 is the name of the method called. By default, the SOAPAction generated by SOAP::Lite is of the form 'URI#METHOD', but .Net expects 'URI/METHOD'.

Also, if the web service isn't available as HTTP, it'd do no good to change protocols. If on_debug() doesn't work for HTTPS (I don't have any HTTPS webservices to test against), you can always fake it with a custom serializer/deserializer, like the following logic

$lite = SOAP::Lite -> uri($namespace) -> on_action( sub { join '/', @_[0,1] } ) -> proxy('https://USERNAME:PASSWORD@wstest.solspark.com') -> serializer( My::Serializer->new() ) -> deserializer ( My::Deserializer->new() ) ; package My::Serializer; use SOAP::Lite; use base SOAP::Serializer; sub serialize { my @temp = SUPER::serialize(@_); warn @temp; return @temp }; package My::Deserializer; use SOAP::Lite; use base SOAP::Deserializer; sub deserialize { warn @_; return SUPER::deserialize(@_); }

Replies are listed 'Best First'.
Re^3: SOAP and .NET Web Services
by polettix (Vicar) on May 11, 2005 at 14:22 UTC
    I understood that the OP owned the service and could change the server end as well as the client, but now that I re-read the post I don't find anything supporting this interpretation - thanks for correcting.

    Flavio (perl -e 'print(scalar(reverse("\nti.xittelop\@oivalf")))')

    Don't fool yourself.