#!/usr/bin/perl use strict; use warnings; sub BEGIN { unshift(@INC,'.'); } use Data::Dumper; use SOAP::Lite +trace => 'all'; my $soap = SOAP::Lite ->uri( 'http://dev.iban-bic.com/Riban/soap2/?wsdl' ); $soap->proxy( 'http://bla.home:8888' ); #$soap->proxy('http://dev.iban-bic.com/Riban/soap2/'); my %data_to_send_in_soap_map = ( 'country' => 'NL', 'step' => '1', ); my $user='name'; my $pass='pass'; my (@soap_map,@params); foreach my $key (keys %data_to_send_in_soap_map) { push @soap_map, \SOAP::Data->value( SOAP::Data->name('key' => $key )->type('xsd:string'), SOAP::Data->name('value' => $data_to_send_in_soap_map{$key})->type('xsd:string'), ); } $soap->get_form( SOAP::Data->name('params' => \@soap_map)->type('tns:Map'), SOAP::Data->name('user' => $user )->type('xsd:string'), SOAP::Data->name('password' => $pass )->type('xsd:string'), );