#!/usr/bin/perl -- use strict; use warnings; use SOAP::Lite +trace => 'debug', readable => 1; my $soap = SOAP::Lite -> uri('http://127.0.0.1/MyModule') -> proxy('http://127.0.0.1:1203') ;;;;;;;;; $soap->ns( "http://www.huawei.com/bme/cbsinterface/common" => 'ns1' ); $soap->ns( "http://www.huawei.com/bme/cbsinterface/cbs/accountmgr" => 'ns2' ); $soap->ns( "http://www.huawei.com/bme/cbsinterface/cbs/accountmgrmsg" => 'ns3',); $soap->envprefix('SOAP-ENV'); my @data = SOAP::Data->name("RequestHeader" => \SOAP::Data->value( SOAP::Data->name("CommandId" => 'Payment')->prefix('ns1'), SOAP::Data->name("Version" => '1')->prefix('ns1'), SOAP::Data->name("TransactionId" => '')->prefix('ns1'), SOAP::Data->name("SequenceId" => '1')->prefix('ns1'), SOAP::Data->name("RequestType" => 'Event')->prefix('ns1'), SOAP::Data->name("SerialNo" => 'USSD_00000001')->prefix('ns1'), ) ); push (@data, SOAP::Data->name("PaymentRequest" => \SOAP::Data->value( SOAP::Data->name("SubscriberNo" => '123')->prefix('ns2'), SOAP::Data->name("PaymentAmt" => 100)->prefix('ns2'), SOAP::Data->name("PaymentMode" => 1001)->prefix('ns2'), ) )); my $result = $soap->PaymentRequestMsg(@data); __END__ $ perl soap-lite-1145282.pl SOAP::Transport::HTTP::Client::send_receive: POST http://127.0.0.1:1203 HTTP/1.1 Accept: text/xml Accept: multipart/* Accept: application/soap Content-Length: 1380 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://www.huawei.com/bme/cbsinterface/cbs/accountmgrmsg#PaymentRequestMsg" Payment 1 1 Event USSD_00000001 123 100 1001 SOAP::Transport::HTTP::Client::send_receive: 500 Can't connect to 127.0.0.1:1203 Content-Type: text/plain Client-Date: Tue, 20 Oct 2015 01:56:11 GMT Client-Warning: Internal response Can't connect to 127.0.0.1:1203 No connection could be made because the target machine actively refused it. at .../site/lib/LWP/Protocol/http.pm line 47. 500 Can't connect to 127.0.0.1:1203 at soap-lite-1145282.pl line 40.