in reply to Re^3: Accessing Attributes in Web Servie message - Server Side
in thread Accessing Attributes in Web Servie message - Server Side

Thank you. Even Dumper doesn't show me the attributes. I have Wireshark monitoring the incoming messages and there I do see the entire message coming in with the attributes. Here is the Dumper result:

$VAR1 = { 'Request_Id' => '999999', 'Section' => [ { 'Entity' => [ '', '', '', '', '', '', '', '', '', '' ] }, { 'Entity' => [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ] }, { 'Entity' => [ '', '', '', '' ] } ], 'RequestType' => 'CHANGE', 'RequestStatus' => 'PENDING', 'VtacContactPhone' => '555-555-5555', 'Action' => 'APPROVE', 'VtacContactName' => 'CYNTHIA', 'NegotiatorPhone' => '555-555-5555', 'IssuedDate' => '12/10/2015 09:29:02 AM', 'NegotiatorName' => 'MICHELLE' };

Replies are listed 'Best First'.
Re^5: Accessing Attributes in Web Servie message - Server Side
by poj (Abbot) on Feb 18, 2016 at 19:38 UTC

    If you want to parse the XML then XML::Twig is one option

    #!perl use strict; use warnings; use XML::Twig; use Data::Dumper; my $xml = do{local $/;<DATA>}; my %data=(); my $t = XML::Twig->new( twig_handlers=> { Section => \&section }, ); $t->parse($xml); print Dumper \%data; sub section { my ($t,$e) = @_; my $type = $e->att('type'); for ($e->children('Entity')){ push @{$data{$type}},$_->atts; } }; __DATA__
    poj

      Thank you poj. Trying to determine where to apply your example. Would I make that the main web service? or you that be the module that my soap server dispatches to?

        What do you get if you dump $envelope

        use Data::Dumper; sub sendMsg2ABC { my ($class,$data)=@_; my $envelope = pop @_; print Dumper $envelope;
        poj

      If you want to parse the XML then XML::Twig is one option

      kinda goes against the idea of a SOAP server to have to parse XML yourself :)