http://www.perlmonks.org?node_id=379923


in reply to Re^2: SOAP for Perl
in thread SOAP for Perl

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 :)