You can create header and body using SOAP::Serializer and pass it using SOAP::Lite method on_action:
my $soapObj = SOAP::Lite
-> uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/sch
+ema/REL-5-MM7-1-2')
-> on_action(sub { return SOAP::Serializer->envelope(method => 'MM
+7Version', '5.3.0',
SOAP::Header->name(TransactionID => 5)
+->mustUnderstand(1) ); })
-> proxy('http://10.236.137.7:10021/vas_soap');
print $soapObj->result;
Result is:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instanc
+e"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<TransactionID SOAP-ENV:mustUnderstand="1" xsi:type="xsd:int">5</Trans
+actionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<MM7Version>
<c-gensym5 xsi:type="xsd:string">5.3.0</c-gensym5></MM7Version>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
---
Schiller
It's only my opinion and it doesn't have pretensions of absoluteness!
Hope it helps :)
|