http://qs321.pair.com?node_id=1155557


in reply to Accessing Attributes in Web Servie message - Server Side

So what are you using to parse the XML? Try showing us some (minimal) code!

  • Comment on Re: Accessing Attributes in Web Servie message - Server Side

Replies are listed 'Best First'.
Re^2: Accessing Attributes in Web Servie message - Server Side
by gackles (Novice) on Feb 18, 2016 at 16:22 UTC

    Here is my SOAP server:

    #!/usr/bin/perl use strict; use SOAP::Transport::HTTP; use lib '/var/www/soap'; use vbsservice; my $server = SOAP::Transport::HTTP::CGI ->dispatch_to('sendMsg2ABC') ->handle; 1;

    Here is the vbsservice module:

    #!/usr/local/bin/perl package vbsservice; use Switch; use warnings; use Exporter; our @ISA = (Exporter); our @EXPORT = qw(sendMsg2ABC); sub sendMsg2ABC { my($class,$data)=@_; ...

    $data is a hash ref that I've parsed all sorts of ways but I'm never able to get to the attributes of the incoming message. I can easily parse the key/values from any tag/element entries of the message but not the attributes. One thing I'm trying now is the dataof method but I haven't been able to get that to work. As a note, I cannot change the way the message is coming in. That's out of my control. Thank you again for any help.

      What is the structure of $data if you use Dumper

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

        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' };

        Try looking at HTML::Tree