NAME
SOAP::WSDL::Deserializer::SOM - Deserializer SOAP messages into SOM objects
SYNOPSIS
use SOAP::WSDL;
use SOAP::WSDL::Deserializer::SOM;
use SOAP::WSDL::Factory::Deserializer;
SOAP::WSDL::Factory::Deserializer->register( '1.1', __PACKAGE__ );
DESCRIPTION
Deserializer for creating SOAP::Lite's SOM object as result of a SOAP call.
This package is here for two reasons:
Compatibility
You don't have to change the rest of your SOAP::Lite based app when switching to SOAP::WSDL, but can just use SOAP::WSDL::Deserializer::SOM to get back the same objects as you were used to.
Completeness
SOAP::Lite covers much more of the SOAP specification than SOAP::WSDL.
SOAP::WSDL::Deserializer::SOM can be used for content which cannot be deserialized by SOAP::WSDL::Deserializer::SOAP11. This may be XML including mixed content, attachements and other XML data not (yet) handled by SOAP::WSDL::Deserializer::SOAP11.
SOAP::WSDL::Deserializer::SOM is a subclass of SOAP::Deserializer from the SOAP::Lite package.
METHODS
deserialize
Deserializes a XML sting into a SOAP::SOM object. Returns a SOAP::Fault object on deserialization errors.
generate_fault
Dies with a SOAP::Fault object.
USAGE
SOAP::WSDL::Deserializer will not autoregister itself - to use it for a particular SOAP version just use the following lines:
my $soap_version = '1.1'; # or '1.2', further versions may appear.
use SOAP::WSDL::Deserializer::SOM;
use SOAP::WSDL::Factory::Deserializer;
SOAP::WSDL::Factory::Deserializer->register( $soap_version, __PACKAGE__ );
DIFFERENCES FROM OTHER CLASSES
Differences from SOAP::Lite
No on_fault handler
You cannot specify what to do when an error occurs - SOAP::WSDL will return a SOAP::Fault object on transport errors.
Differences from other SOAP::WSDL::Deserializer classes
generate_fault
SOAP::WSDL::Deserializer::SOM will die with a SOAP::Fault object on calls to generate_fault.
This also means that a SOAP::Fault may be thrown as exception when using
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: 851 $
$LastChangedBy: kutterma $
$Id: SOM.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/Deserializer/SOM.pm $