Hi All,
I'm having some trouble implementing the wsdl, but it is mostly due to my inexperience with this sort of thing.
I generally use SoapUI to test our systems, and it will generate something that looks a bit like this:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http:
+//schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:
+xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://bridgewatersystems.com/xpc/aaaInterface/e
+ntity/soap">
<SOAP-ENV:Body>
<ns1:AccountingRequest>
<subscriber
sgsn-ip-address="2.2.2.2"
client-ip-address="2.2.2.2"
framed-ip-address="1.1.1.101"
session-id="1234"
domain="domain.com.sa"
called-station-id="gsm"
nas-ip-address="2.2.2.2"
NAS-identifier="TEST-FUP-2"
calling-station-id="11111"
user-name="1111"
msisdn="1111"/>
<start/>
</ns1:AccountingRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Now what I am looking to do is generate a similar call and I am totally baffled by how to do that.
So far I have created a new WSDL interface with use SOAP::WSDL;
my $soap = SOAP::WSDL -> new (wsdl => 'http://192.168.153.240:32010/soap/services/PolicyControllerA
+AAInterface?wsdl');
and that works, but I can't figure out how to do a 'call'
I have tried stuff like this... but that isn't working.
Any advice is greatly appreciated:
my %acctVals;
my %sub;
$sub{'client-ip-address'} = "2.2.2.22";
$sub{'framed-ip-address'} = "10.0.0.20";
$sub{'session-id'} = "12312321";
$sub{'domain'} = "converged.mobily.com.sa";
$acctVals{'subscriber'} = $sub;
my $result = $soap->call('Accounting', $acctVals);