SOAP::WSDL::Factory::Serializer - Factory for retrieving serializer objects


SOAP-WSDL documentation  | view source Contained in the SOAP-WSDL distribution.

Index


NAME

Top

SOAP::WSDL::Factory::Serializer - Factory for retrieving serializer objects

SYNOPSIS

Top

 # from SOAP::WSDL::Client:
 $serializer = SOAP::WSDL::Factory::Serializer->get_serializer({
     soap_version => $soap_version,
 });

 # in serializer class:
 package MyWickedSerializer;
 use SOAP::WSDL::Factory::Serializer;

 # register as serializer for SOAP1.2 messages
 SOAP::WSDL::Factory::Serializer->register( '1.2' , __PACKAGE__ );

DESCRIPTION

Top

SOAP::WSDL::Factory::Serializer serves as factory for retrieving serializer objects for SOAP::WSDL.

The actual work is done by specific serializer classes.

SOAP::WSDL::Serializer tries to load one of the following classes:

* the class registered for the scheme via register()

METHODS

Top

register

 SOAP::WSDL::Serializer->register('1.1', 'MyWickedSerializer');

Globally registers a class for use as serializer class.

get_serializer

Returns an object of the serializer class for this endpoint.

WRITING YOUR OWN SERIALIZER CLASS

Top

Registering a deserializer

Serializer classes may register with SOAP::WSDL::Factory::Serializer.

Serializer objects may also be passed directly to SOAP::WSDL::Client by using the set_serializer method. Note that serializers objects set via SOAP::WSDL::Client's set_serializer method are discarded when the SOAP version is changed via set_soap_version.

Registering a serializer class with SOAP::WSDL::Factory::Serializer is done by executing the following code where $version is the SOAP version the class should be used for, and $class is the class name.

 SOAP::WSDL::Factory::Serializer->register( $version, $class);

To auto-register your transport class on loading, execute register() in your tranport class (see SYNOPSIS above).

Serializer package layout

Serializer modules must be named equal to the serializer class they contain. There can only be one serializer class per serializer module.

Methods to implement

Serializer classes must implement the following methods:

* new

Constructor.

* serialize

Serializes data to XML. The following named parameters are passed to the serialize method in a anonymous hash ref:

 {
   method => $operation_name,
   header => $header_data,
   body => $body_data,
 }

LICENSE AND COPYRIGHT

Top

AUTHOR

Top

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

REPOSITORY INFORMATION

Top

 $Rev: 851 $
 $LastChangedBy: kutterma $
 $Id: Serializer.pm 851 2009-05-15 22:45:18Z kutterma $
 $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $


SOAP-WSDL documentation  | view source Contained in the SOAP-WSDL distribution.