NAME¶
SOAP::WSDL::Factory::Serializer - Factory for retrieving serializer objects
SYNOPSIS¶
# 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¶
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¶
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¶
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¶
Copyright 2004-2007 Martin Kutter. All rights reserved.
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>
$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 $