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


in reply to Re^4: SOAP call tweaks required
in thread SOAP call tweaks required

Strictly speaking, that ain't necessary :)
#!/usr/bin/perl -- use strict; use warnings; use SOAP::Lite; #~ use SOAP::Lite 0.65 +trace => 'debug'; use SOAP::Lite +trace => [ 'all', '-objects' ]; my $soap = SOAP::Lite->proxy( 'http://localhost/blah/DummyService', timeout => +1, ); my $serializer = $soap->serializer(); $serializer->register_ns( 'http://mydummy.namespace.localhost', 'mns' +); my $data = [ SOAP::Data->name('mns:test'), SOAP::Data->name( 'mns:description' => 'an item in my namespace', +) ->type('mns:mytype') ]; print $serializer->envelope( method => @{ $data } ), "\n"; warn "\n", '-' x 66, "\n"; my $som = eval { $soap->call( @{$data} ) }; warn "\n", '-' x 66, "\n"; __END__ ### *nix $ perl testsoap.pl 3 2>/dev/null |xml_pp $ perl testsoap.pl 2>NUL |xml_pp <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/enc +oding/" xmlns:mns="http://mydummy.namespace.localhost" xmlns:soap="ht +tp://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schema +s.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSc +hema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <mns:test> <mns:description xsi:type="mns:mytype">an item in my namespace</ +mns:description> </mns:test> </soap:Body> </soap:Envelope>