#!/usr/bin/perl -w use strict; # -- Nested attributes use SOAP::Lite; my @array = qw(11 22); my $client = SOAP::Lite ->readable(1) ->uri('http://tertius.example.com/Demo') ->proxy('http://localhost:7890'); my $temp_elements; my @params = (); $temp_elements = SOAP::Data ->name("TargetStaging" => 'foo') ->type(""); push(@params, $temp_elements); $temp_elements = SOAP::Data ->name("CallDetails" => \SOAP::Data->value( SOAP::Data->name("elem1" => 'foo'), SOAP::Data->name("elem2" => 'baz'), SOAP::Data->name("someArray" => \SOAP::Data->value( SOAP::Data->name("someArrayItem" => @array) ->type("SomeObject")) )->type("ArrayOf_SomeObject") )) ->type("SomeObject"); push(@params, $temp_elements); my $response = $client->someMethod(@params);