Hello Monks...
I need your help with this issue, I use SOAP::Lite trying to query a Webservice, here is the code:
$soap = SOAP::Lite-> service('http://10.230.0.22:7782/services/CBSInte
+rfaceAccountMgrService?wsdl');
@data = SOAP::Data->name("RequestHeader" =>
\SOAP::Data->value(
SOAP::Data->name("CommandId" => 'Payment'),
SOAP::Data->name("Version" => '1'),
SOAP::Data->name("TransactionId" => ''),
SOAP::Data->name("SequenceId" => '1'),
SOAP::Data->name("RequestType" => 'Event'),
SOAP::Data->name("SerialNo" => 'USSD_00000001'),
)
);
push (@data,
SOAP::Data->name("PaymentRequest" =>
\SOAP::Data->value(
SOAP::Data->name("SubscriberNo" => '123'),
SOAP::Data->name("PaymentAmt" => 100),
SOAP::Data->name("PaymentMode" => 1001),
)
));
my $result = $soap->Payment(@data);
From the code above I am expecting that the XML layer of the http request would have the structure of @data as per my wsdl definition, but the output only show the following:
<soap:Body>
<account:Payment>
<RequestHeader xsi:nil="true" xsi:type="common:RequestHeader" />
<PaymentRequest xsi:nil="true" xsi:type="account:PaymentRequest" />
</account:Payment>
</soap:Body>
</soap:Envelope>
Please help.