NAME
XML::Compile::SOAP::Server - SOAP message handlers
INHERITANCE
XML::Compile::SOAP::Server is extended by
XML::Compile::SOAP11::Server
XML::Compile::SOAP12::Server
SYNOPSIS
# THIS CANNOT BE USED YET: Preparations for new module
# named XML::Compile::SOAP::Daemon
my $soap = XML::Compile::SOAP11::Server->new;
my $input = $soap->compileMessage('RECEIVER', ...);
my $output = $soap->compileMessage('SENDER', ...);
$soap->compileHandler
( name => $name, input => $input, output => $output
, callback => \$my_handler
);
my $daemon = XML::Compile::SOAP::HTTPDaemon->new(...);
$daemon->addHandler($type => $daemon);
DESCRIPTION
This class defines methods that each server side of the SOAP message exchange protocols must implement.
METHODS
Instantiation
This object can not be instantiated, but is only used as secundary base class. The primary must contain the new
.
$obj->compileHandler(OPTIONS)
Option --Default
action <undef>
callback <fault: not implemented>
decode <undef>
encode <undef>
name <required>
. action => STRING
A possible SOAPAction string from the HTTP header. It might be used to identify an incoming message (but probably not).
. callback => CODE
As input, the SERVER object and the translated input message (Perl version) are passed in. As output, a suitable output structure must be produced. If the callback is not set, then a fault message will be returned to the user.
. decode => CODE
The CODE reference is used to decode the (parsed) XML input message into the pure Perl request. The reference is a READER, created with XML::Compile::Schema::compile(). If no input decoder is specified, then the handler will be called with the un-decoded XML::LibXML node itself.
. encode => CODE
The CODE reference is used to encode the Perl answer structure into the output message. The reference is a WRITER. created with XML::Compile::Schema::compile(). If no output encoder is specified, then the handler must return an XML::LibXML document.
. name => STRING
The identification for this action, for instance used for logging. When the action is created via a WSDL, the portname will be used here. It is a pitty that the portname is not passed in the SOAP message.
SEE ALSO
This module is part of XML-Compile-SOAP distribution version 0.66, built on January 31, 2008. Website: http://perl.overmeer.net/xml-compile/
LICENSE
Copyrights 2007-2008 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html