use strict; use SOAP::Lite 'trace', 'debug'; use Mime::Base64 (); use XML::Simple; use Data::Dumper; my $loginToken = '209a2247-df9a-40f9-a7e1-6b755f184947'; my $messageID = '783679'; my $pageNumber = 1; my $server = SOAP::Lite ->uri('https://www.onecallnow.com/WebService/') ->on_action( sub { join '/', 'https://www.onecallnow.com/WebService', $_[1] } ) #->proxy('http://localhost/WebService/OneCallNow.asmx?wsdl'); ->proxy('http://dev.onecallnow.com/WebService/OneCallNow.asmx?wsdl'); my $returned = $server ->call(SOAP::Data->name('RetrieveMessageReportDetails')->attr({xmlns => 'https://www.onecallnow.com/WebService/'}) => SOAP::Data->name('LoginToken')->value($loginToken)->type('s:string'), SOAP::Data->name('MessageID')->value($messageID)->type('s:int'), SOAP::Data->name('PageNumber')->value($pageNumber)->type('s:int') ); my $xml = $returned->result;