in reply to SOAP::Lite & WSDL Problem
The thing is that SOAP::Lite uses the wrong namespace in the envelope here.
The funny thing is that if you do this:
you can see that the proper namespace is actually registered but it later seems to get overwritten in the serializer...my $soap = SOAP::Lite->service("http://www.webservicex.net/globalweath +er.asmx?WSDL"); print Dumper($soap->serializer->{_namespaces});
I finally got it working (without WSDL alas) like this:
Quite a lot of work for such a simple thing - is this because .NET is quirky or is it that SOAP::Lite (I have 0.710.10) has problems with WSDL (or am I simply being stupid?).use strict; use SOAP::Lite +trace => "debug"; my $address = 'http://www.webservicex.net/globalweather.asmx'; my $action = "http://www.webserviceX.NET/GetCitiesByCountry"; my $namespace = 'http://www.webserviceX.NET'; my $call = "GetCitiesByCountry"; my $soap = SOAP::Lite ->uri($namespace) ->on_action(sub { $action } ) ->proxy($address); my $arg = SOAP::Data->name(CountryName => "Singapore"); $soap->call($call => $arg);
|
|---|