Skip to content
Snippets Groups Projects
Commit 7c3a915b authored by Tomáš Plesník's avatar Tomáš Plesník
Browse files

oprava chybneho vytahovani elementu ze SOAP objektu

parent 05e7b0bd
No related branches found
No related tags found
No related merge requests found
...@@ -36,7 +36,8 @@ package WardenStatus; ...@@ -36,7 +36,8 @@ package WardenStatus;
use strict; use strict;
use SOAP::Lite; use SOAP::Lite;
use IO::Socket::SSL qw(debug1); use IO::Socket::SSL qw(debug1);
use SOAP::Transport::TCP use SOAP::Transport::TCP;
use Data::Dumper;
our $VERSION = "0.2"; our $VERSION = "0.2";
...@@ -112,11 +113,10 @@ sub getClients ...@@ -112,11 +113,10 @@ sub getClients
# call server method getClients # call server method getClients
my $response = c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getClients"); my $response = c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getClients");
my ($client_id, $hostname, $registered, $requestor, $service, $client_type, $type, $receive_own_events, $description_tags, $ip_net_client);
my @clients;
# parse returned SOAP data object # parse returned SOAP data object
my @response_list = $response->valueof('/Envelope/Body/getClientsResponse/'); my @clients;
my ($client_id, $hostname, $registered, $requestor, $service, $client_type, $type, $receive_own_events, $description_tags, $ip_net_client);
my @response_list = $response->valueof('/Envelope/Body/getClientsResponse/client');
while (scalar @response_list) { while (scalar @response_list) {
my $response_data = shift(@response_list); my $response_data = shift(@response_list);
my @client; my @client;
...@@ -134,7 +134,7 @@ sub getClients ...@@ -134,7 +134,7 @@ sub getClients
$ip_net_client = $response_data->{'IP_NET_CLIENT'}; $ip_net_client = $response_data->{'IP_NET_CLIENT'};
# push received clients from warden server into @clients which is returned # push received clients from warden server into @clients which is returned
@client = ("$client_id", "$hostname", "$registered", "$requestor", "$service", "$client_type", "$type", "$receive_own_events", "$description_tags", "$ip_net_client"); @client = ($client_id, $hostname, $registered, $requestor, $service, $client_type, $type, $receive_own_events, $description_tags, $ip_net_client);
push (@clients,\@client); push (@clients,\@client);
} }
return @clients; return @clients;
...@@ -159,11 +159,11 @@ sub getStatus ...@@ -159,11 +159,11 @@ sub getStatus
# call server method getStatus # call server method getStatus
my $response = c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getStatus"); my $response = c2s($uri, $ssl_key_file, $ssl_cert_file, $ssl_ca_file, "getStatus");
# parse returned SOAP data object #-----------------------------------------------------------------------------
my @response_list = $response->valueof('/Envelope/Body/getStatusResponse/'); # parse server status
my @response_list = $response->valueof('/Envelope/Body/getStatusResponse/server_status');
my $response_data = shift(@response_list); my $response_data = shift(@response_list);
# parse items of server status
my $version = $response_data->{'VERSION'}; my $version = $response_data->{'VERSION'};
my $address = $response_data->{'ADDRESS'}; my $address = $response_data->{'ADDRESS'};
my $port = $response_data->{'PORT'}; my $port = $response_data->{'PORT'};
...@@ -182,21 +182,24 @@ sub getStatus ...@@ -182,21 +182,24 @@ sub getStatus
my $clients_sum = $response_data->{'CLIENTS_SUM'}; my $clients_sum = $response_data->{'CLIENTS_SUM'};
my @status; my @status;
my @server_status = ("$version", "$address", "$port", "$logdir", "$piddir", "$vardir", "$ssl_key_file_server", "$ssl_cert_file_server", "$ssl_ca_file_server", "$facility", "$db_size", "$events_sum", "$events_last_id", "$events_first_timestamp", "$events_last_timestamp", "$clients_sum"); my @server_status = ($version, $address, $port, $logdir, $piddir, $vardir, $ssl_key_file_server, $ssl_cert_file_server, $ssl_ca_file_server, $facility, $db_size, $events_sum, $events_last_id, $events_first_timestamp, $events_last_timestamp, $clients_sum);
push(@status, \@server_status); push(@status, \@server_status);
#-----------------------------------------------------------------------------
# parse client status
my ($client_id, $hostname, $service, $count, $timestamp);
@response_list = $response->valueof('/Envelope/Body/getStatusResponse/client_status');
while (scalar @response_list) { while (scalar @response_list) {
my $response_data = shift(@response_list); my $response_data = shift(@response_list);
my @client_status; my @client_status;
# parse item of client status $client_id = $response_data->{'CLIENT_ID'};
my $client_id = $response_data->{'CLIENT_ID'}; $hostname = $response_data->{'HOSTNAME'};
my $hostname = $response_data->{'HOSTNAME'}; $service = $response_data->{'SERVICE'};
my $service = $response_data->{'SERVICE'}; $count = $response_data->{'COUNT'};
my $count = $response_data->{'COUNT'}; $timestamp = $response_data->{'TIMESTAMP'};
my $timestamp = $response_data->{'TIMESTAMP'};
@client_status = ("$client_id", "$hostname", "$service", "$count", "$timestamp"); @client_status = ($client_id, $hostname, $service, $count, $timestamp);
push(@status, \@client_status); push(@status, \@client_status);
} }
return @status; return @status;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment