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

dsb has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I need fresh eyes on this.
my $soap = SOAP::Lite->new->proxy('https://wsnet.sendwordnow.com/Sessi +onManagement/2010/05/PublicSessionManagementService.svc') ->ns('http://schemas.xmlsoap.org/soap/envelope/', 'soapenv') ->ns('http://schemas.datacontract.org/2004/07/SWN.Notification.Pub +licSessionManagement.Contracts.DataContracts', 'swn') ->ns('http://schemas.sendwordnow.com/ws/2010/05/PublicSessionManag +er', 'pub') ; =pod my $req = SOAP::Data->name( RequestOf_PublicLoginReqest => ( SOAP::Data->name( OperationParameters => ( SOAP::Data->name( Username => $USERNAME )->prefix('swn'), SOAP::Data->name( Password => $PASSWORD )->prefix('swn'), SOAP::Data->name( PublicServiceEntryPoint => 'AlertingServ +ice' )->prefix('swn') ))->prefix('pub') )->prefix('pub') ); =cut my $user = SOAP::Data->name( Username => $USERNAME )->prefix('swn'); my $pass = SOAP::Data->name( Password => $PASSWORD )->prefix('swn'); my $entr = SOAP::Data->name( PublicServiceEntryPoint => 'AlertingServi +ce')->prefix('swn'); my $oper = SOAP::Data->name( OperationParameters => ( $user, $pass, $e +ntr ) )->prefix('pub'); my $reqm = SOAP::Data->name( RequestOf_PublicLoginRequest => $oper )-> +prefix('pub'); my $res = $soap->call( $reqm );
produces
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:pub="http://schemas.sendwordnow.com/ws/2010/05/PublicSessionMana +ger" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:swn="http://schemas.datacontract.org/2004/07/SWN.Notification.Pu +blicSessionManagement.Contracts.DataContracts" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <RequestOf_PublicLoginReqest xsi:nil="true" /> #### EMPTY!!! ### +# </soapenv:Body> </soapenv:Envelope>
Note, the piece that is pod'd out effectively builds the same structure as the piece that isn't. Can anyone spot why I'm getting back a nil RequestOf_PublicLoginRequest or why the prefix isn't working?

Update: The prefix actually IS working. so nevermind that bit...

dsb
This @ISA my( $cool ) %SIG