#!/usr/bin/perl
# SOAP CGI server (method loaded from module 'Report')
use strict;
use warnings;
use Data::Dumper;
use SOAP::Transport::HTTP;
use lib 'lib';
use Report;
my $server = SOAP::Transport::HTTP::CGI
->dispatch_to('urn:Report')
->handle;
1;
####
package Report;
use Data::Dumper;
use strict;
use warnings;
use ReportRequest;
use ReportResponse;
=begin WSDL
_IN Report $ReportRequest a ReportRequest object
_RETURN $ReportResponse a ReportResponse object
_DOC Request or retreive a bandwidth report
=cut
sub Report {
=begin WSDL
_IN request $ReportRequest a ReportRequest type (this is in the method)
_DOC Method: Report
=cut
# my $class = shift();
# my $self = {};
# my %in = @_;
open LOG, ">>soapservice.log";
print LOG "Report method\n";
print LOG Dumper(@_);
close LOG;
return "fluff"; # bless ($self, $class);
}
1;
####
package ReportRequest;
=pod
=begin WSDL
_ATTR authuser $string valid username
_ATTR authpass $string valid password
_ATTR date_from $dateTime report start date (ISO YYYYMMDDTHH:MM)
=end WSDL
=cut
sub new {
open LOG, ">>/soapservice.log";
print LOG "ReportRequest:\n";
print LOG Dumper(@_);
close LOG;
return "ReportRequest";
}
1;
####
package ReportResponse;
use Data::Dumper;
=pod
=begin WSDL
_ATTR result $boolean resultcode, 1 on success, 0 on failure
_ATTR message $string error message (only on failure)
=end WSDL
=cut
sub new {
open LOG, ">>/tmp/bandwidthservice.log";
print LOG "Response\n";
print LOG Dumper(@_);
close LOG;
my $class = "ReportResponse";
my %in = @_;
my $self = {};
$self->{result} => $in{result};
$self->{message} => $in{message};
bless $self, $class;
return $self;
}
1;
####
resultcode, 1 on success, 0 on failure
error message (only on failure)
valid username
valid password
report start date (ISO YYYYMMDDTHH:MM)
a ReportRequest object
a ReportResponse object
Request or retreive a bandwidth report