in reply to Problem with SOAP call using SOAP::Lite and wsdl

Don't use a service method when the service is complex. According to wsdl the code could be:
$client = SOAP::Lite->new( uri => 'http://www.webserviceX.NET/', proxy => 'http://www.webservicex.net/ConvertSpeed.asmx', ); $client->on_action(sub {"http://www.webserviceX.NET/ConvertSpeed"}); $client->autotype(0); $sheader = SOAP::Header->new(''); $sheader->type(xml => ''); $client->ns('http://www.webserviceX.NET/','web'); $client->envprefix('soapenv'); push @request, SOAP::Data->name(speed => 100)->prefix('web'); push @request, SOAP::Data->name(FromUnit => 'kilometersPerhour')->pref +ix('web'); push @request, SOAP::Data->name(ToUnit => 'milesPerhour')->prefix('web +'); $soapResp = $client->ConvertSpeed($sheader,@request); print $soapResp->result,"\n";

Replies are listed 'Best First'.
Re^2: Problem with SOAP call using SOAP::Lite and wsdl
by Anonymous Monk on Jan 19, 2018 at 11:45 UTC
    Thank you for the reply, this does work my side too.

    Any reason the WSDL doesn't work for complex services?
      To my mind SOAP::Lite wasnt' designed to build a soap structure directly from a wsdl file. For that there's a better module, XML::Compile::WSDL11.
        Thank you, I will look into that.