use SOAP::Lite +trace => all;
$soap = SOAP::Lite
-> uri('http://www.webservicex.net')
-> on_action( sub { join '/', 'http://www.webserviceX.NET', $_[1] } )
-> proxy('http://www.webservicex.net/globalweather.asmx');
my $method = SOAP::Data->name('GetCitiesByCountry')
->attr({xmlns => 'http://www.webserviceX.NET/'});
my $param = SOAP::Data->name("CountryName" =>"India");
$result= $soap->call($method,$param)->result();
####
India
####
POST /globalweather.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.webserviceX.NET/GetCitiesByCountry"
string