---
name: "SOAP::WSDL::Deserializer::Hash"
section: "3pm"
platform: "linux"
package: "libsoap-wsdl-perl"
version: "3.004-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SOAP::WSDL::Deserializer::Hash"
---

# SOAP::WSDL::Deserializer::Hash(3pm)

Deserializer SOAP messages into perl hash refs

## 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 occurrence 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\>

## REPOSITORY INFORMATION

```
 $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 $
```
