将PHP SOAP调用转换为Perl

I am trying to take this, what looks to be simple soap call in php:

$params->Context->ServiceAccountContext = $serviceAccountContext; //this is a string
    $params->Query = "test";        

    // invoke service
    $researchService = new SoapClient($serviceurl);
    $response = $researchService->DoFunction($params)->DoFunctionResult;        

but it seems my experience with SOAP::Lite is limited, as the following:

my $serviceAccountContext ='teststring';
my $soap = SOAP::Lite
-> uri($serviceurl)
  -> proxy($serviceurl)
;
 my $header = SOAP::Header->name("ServiceAccountContext" =>' $serviceAccountContext', "Query"=>'test');


my $method = SOAP::Data->name('DoFunction');
my $responset = $soap->call($method, $header);

returns a 404, which is unfortunate as it works in php. I feel like i am missing something very basic here. if anyone could lend a hand, that would be amazing. Thanks.