Provided by: libsoap-wsdl-perl_3.004-2_all bug

NAME

       SOAP::WSDL::Factory::Deserializer - Factory for retrieving Deserializer objects

SYNOPSIS

        # from SOAP::WSDL::Client:
        $deserializer = SOAP::WSDL::Factory::Deserializer->get_deserializer({
            soap_version => $soap_version,
            class_resolver => $class_resolver,
        });

        # in deserializer class:
        package MyWickedDeserializer;
        use SOAP::WSDL::Factory::Deserializer;

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

DESCRIPTION

       SOAP::WSDL::Factory::Deserializer serves as factory for retrieving deserializer objects
       for SOAP::WSDL.

       The actual work is done by specific deserializer classes.

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

       •   The class registered for the scheme via register()

       By default, SOAP::WSDL::Deserializer::XSD is registered for SOAP1.1 messages.

METHODS

   register
        SOAP::WSDL::Deserializer->register('1.1', 'MyWickedDeserializer');

       Globally registers a class for use as deserializer class.

   get_deserializer
       Returns an object of the deserializer class for this endpoint.

WRITING YOUR OWN DESERIALIZER CLASS

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

   Registering a deserializer
       Registering a deserializer class with SOAP::WSDL::Factory::Deserializer 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::Deserializer->register( $version, $class);

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

   Deserializer package layout
       Deserializer modules must be named equal to the deserializer class they contain. There can
       only be one deserializer class per deserializer module.

   Methods to implement
       Deserializer classes must implement the following methods:

       •   new

           Constructor.

       •   deserialize

           Deserialize data from XML to arbitrary formats.

           deserialize() must return a fault indicating that deserializing failed if any error is
           encountered during the process of deserializing the XML message.

           The following positional parameters are passed to the deserialize method:

            $content   - the xml message

       •   generate_fault

           Generate a fault in the supported format. The following named parameters are passed as
           a single hash ref:

            code       - The fault code, e.g. 'soap:Server' or the like
            role       - The fault role (actor in SOAP1.1)
            message    - The fault message (faultstring in SOAP1.1)

LICENSE AND COPYRIGHT

       Copyright 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>

REPOSITORY INFORMATION

        $Rev: 176 $
        $LastChangedBy: kutterma $
        $Id: Serializer.pm 176 2007-08-31 15:28:29Z kutterma $
        $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $