NAME

SOAP::WSDL::Server - WSDL based SOAP server base class

SYNOPSIS

Don't use directly, use the SOAP::WSDL::Server::* subclasses instead.

DESCRIPTION

SOAP::WSDL::Server basically follows the architecture sketched below (though dispatcher classes are not implemented yet)

SOAP Request           SOAP Response
      |                     ^
      V                     |
 ------------------------------------------
|       SOAP::WSDL::Server                 |
|  --------------------------------------  |
| | Transport Class                      | |
| |--------------------------------------| |
| | Deserializer       | Serializer      | |
| |--------------------------------------| |
| | Dispatcher                           | |
|  --------------------------------------  |
 ------------------------------------------
     | calls                 ^
     v                       | returns
  -------------------------------------
 |   Handler                           |
  -------------------------------------

All of the components (Transport class, deserializer, dispatcher and serializer) are implemented as plugins.

The architecture is not implemented as planned yet, but the dispatcher is currently part of SOAP::WSDL::Server, which aggregates serializer and deserializer, and is subclassed by transport classes (of which SOAP::WSDL::Server::CGI is the only implemented one yet).

The dispatcher is currently based on the SOAPAction header. This does not comply to the WS-I basic profile, which declares the SOAPAction as optional.

The final dispatcher will be based on wire signatures (i.e. the classes of the deserialized messages).

A hash-based dispatcher could be implemented by examining the top level hash keys.

LICENSE AND COPYRIGHT

Copyright 2004-2007 Martin Kutter.

This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself

AUTHOR

Martin Kutter <martin.kutter fen-net.de>

REPOSITORY INFORMATION

$Rev: 391 $
$LastChangedBy: kutterma $
$Id: Client.pm 391 2007-11-17 21:56:13Z kutterma $
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $