$VAR1 = {
'hostname' => 'host123'
'disk' => '500'
'cpu' => '4'
'memory' => '16'
};
####
$VAR1 = {
'memory' => '16'
};
####
use warnings;
use strict;
my $serverhost = 'myserver.net';
my $serverport = '38383';
my $wsdl_filename = 'my.wsdl';
use XML::Compile::SOAP::Daemon::NetServer;
use XML::Compile::WSDL11;
use XML::Compile::SOAP11;
use XML::Compile::Util qw/pack_type/;
sub sendData($$$);
my $daemon = XML::Compile::SOAP::Daemon::NetServer->new();
my $wsdl = XML::Compile::WSDL11->new($wsdl_filename);
my %callbacks = ( sendData => \&sendData );
$daemon->operationsFromWSDL( $wsdl, callbacks => \%callbacks );
$daemon->setWsdlResponse($wsdl_filename);
print "Starting daemon PID=$$ on $serverhost:$serverport\n";
$daemon->run
(
name => 'NamesService',
host => $serverhost,
port => $serverport,
# Net::Server::PreFork parameters
min_servers => 1,
max_servers => 1,
min_spare_servers => 0,
max_spare_servers => 0
);
sub sendData($$$)
{
my ($server, $in, $request) = @_;
trace join '', 'sendData', Dumper $in;
if( open OUT, '>', '/tmp/data.txt' )
{
print OUT Dumper $in;
print OUT Dumper $request;
close OUT;
}
# 'return' hash matched to message part response in WSDL
return +{ Return => "OK" };
}
####
####
host123
500
4
16
####
$VAR1 = {
'hostname' => 'host123'
'disk' => '500'
'cpu' => '4'
'memory' => '16'
};
####
$VAR1 = {
'memory' => '16'
};
####
$VAR1 = bless( {
'_protocol' => 'HTTP/1.1',
'_content' => '
host123
500
4
16
',
..
..
..