CAM::SOAPApp is a SOAP application framework.
SYNOPSIS
Do NOT subclass from this module to create your SOAP methods! That would make a big security hole. Instead, write your application like this example:
use CAM::SOAPApp;
SOAP::Transport::HTTP::CGI
-> dispatch_to('My::Class')
-> handle;
package My::Class;
our @ISA = qw(SOAP::Server::Parameters);
sub isLeapYear {
my $pkg = shift;
my $app = CAM::SOAPApp->new(soapdata => @_);
if (!$app) {
CAM::SOAPApp->error('Internal', 'Failed to initialize the SOAP app');
}
my Úta = $app->getSOAPData();
if (!defined $data{year}) {
$app->error('NoYear', 'No year specified in the query');
}
if ($data{year} !~ /^d+$/) {
$app->error('BadYear', 'The year must be an integer');
}
my $leapyear = ($data{year} % 4 == 0 &&
($data{year} % 100 != 0 ||
$data{year} % 400 == 0));
return $app->response(leapyear => $leapyear ? 1 : 0);
}
CAM::SOAPApp is a framework to assist SOAP applications. This package abstracts away a lot of the tedious interaction with SOAP and the application configuration state. CAM::SOAPApp is a subclass of CAM::App and therefore inherits all of its handy features.
When you create a class to hold your SOAP methods, that class should be a subclass of SOAP::Server::Parameters. It should NOT be a subclass of CAM::SOAPApp. If you were to do the latter, then all of the CAM::App and CAM::SOAPApp methods would be exposed as SOAP methods, which would be a big security hole, so don't make that mistake.
Requirements:
· Perl
Product's homepage
Requirements:
· Perl