Not sure which part you are having trouble with but try this
#!perl
use strict;
use SOAP::Lite;
# soap
my $client = SOAP::Lite->uri('')
->proxy("loopback://");
$client->autotype(0)->readable(1);
$client->outputxml(1);
$client->ns("http://schemas.xmlsoap.org/soap/envelope/","soapenv");
$client->ns("http://tempuri.org/AWEService/API/WASAPI","was");
my $auth_data = {
WAS_userName => 'WS_Decom',
WAS_pasword => 'PASSWORD',
};
my $search_data = {
RACK_NAME => '',
DEVICE_NAME => 'prodh20',
MANUFACTURER => '',
MODEL => '',
ASSET_NUMBER => '',
BARCODE_NUMBER => '',
SERIAL_NUMBER => '',
BUILDING => '',
FLOOR => '',
SPACE_ID => '',
GRID_LOCATION => '',
};
my $auth = SOAP::Data->name(
"userIdentification" => $auth_data
)->prefix('was');
my $search = SOAP::Data->name(
"locatorSearchFieldsIdentification" => $search_data
)->prefix('was');
my $response = $client->call("RunLocator",
SOAP::Data->type('data' => $auth),
SOAP::Data->type('data' => $search) );
#open OUT,'>','output.xml' or die "$!";
print $response;
#close OUT;
poj