#!/usr/bin/perl use strict; use warnings; use SOAP::Lite +trace => 'all'; my $soap = SOAP::Lite ->uri("http://www.example.com/") ->on_action(sub { join "/", "http://www.example.com", $_[1] } ) ->proxy("http://localhost/Example1/Service1.asmx"); my $method = SOAP::Data->name('name') ->attr({'xmlns' => "http://www.example.com/"}); my @params = (SOAP::Data->name(str1 => 'string1'), SOAP::Data->name(str2 => 'string2')); print $soap->call($method => @params)->result;