NAME¶
SOAP::WSDL::Deserializer::Hash - Deserializer SOAP messages into perl hash refs
SYNOPSIS¶
use SOAP::WSDL;
use SOAP::WSDL::Deserializer::Hash;
DESCRIPTION¶
Deserializer for creating perl hash refs as result of a SOAP call.
Output structure¶
The XML structure is converted into a perl data structure consisting of hash and
or list references. List references are used for holding array data.
SOAP::WSDL::Deserializer::Hash creates list references always at the maximum
depth possible.
Examples:
XML:
<MyDataArray>
<MyData>1</MyData>
<MyData>1</MyData>
</MyDataArray>
Perl:
{
MyDataArray => {
MyData => [ 1, 1 ]
}
}
XML:
<DeepArray>
<MyData><int>1<int>/MyData>
<MyData><int>1<int>/MyData>
</DeepArray>
Perl:
{
MyDataArray => {
MyData => [
{ int => 1 },
{ int => 1 }
]
}
}
List reference creation is triggered by the second occurance of an element. XML
Array types with one element only will not be represented as list references.
USAGE¶
All you need to do is to use SOAP::WSDL::Deserializer::Hash.
SOAP::WSDL::Deserializer::Hash autoregisters itself for SOAP1.1 messages
You may register SOAP::WSDLDeserializer::Hash for other SOAP Versions by calling
SOAP::Factory::Deserializer->register('1.2',
SOAP::WSDL::Deserializer::Hash)
Limitations¶
- •
- Namespaces
All namespaces are ignored.
- •
- XML attributes
All XML attributes are ignored.
Differences from other SOAP::WSDL::Deserializer classes¶
- •
- generate_fault
SOAP::WSDL::Deserializer::Hash will die with a SOAP::WSDL::Fault11 object
when a parse error appears
METHODS¶
deserialize¶
Deserializes the message.
generate_fault¶
Generates a SOAP::WSDL::SOAP::Typelib::Fault11 object and returns it.
LICENSE AND COPYRIGHT¶
Copyright 2004-2008 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>
$Rev: 851 $
$LastChangedBy: kutterma $
$Id: Hash.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/Hash.pm $