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(@_); }
In reply to Re^2: SOAP and .NET Web Services
by jhourcle
in thread SOAP and .NET Web Services
by Akira71
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |