#!/usr/bin/perl # Colin Faulkingham 03/19/2009 # # Sample code from creating a WSS (Web Services Security) header # use SOAP::Lite +trace => 'debug'; my $soap = SOAP::Lite -> uri ('http://your.uri/') -> proxy ('http://your.service'); my $username = 'username' my $password = 'password'; my $security=SOAP::Header->name("wsse:Security")->attr({'soapenv:mustUnderstand'=>1,'xmlns:wsse'=>'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'}); my $userToken =SOAP::Header->name("wsse:UsernameToken" => \SOAP::Header->value( SOAP::Header->name('wsse:Username')->value($username)->type(''), SOAP::Header->name('wsse:Password')->value($password)->type('')->attr({'Type'=>'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText'})) )->attr({'xmlns:wsu'=>'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'}); print $soap->your_method_name($security->value(\$userToken))->result; # This is what the output looks like # # # # # username # password # # #