SOAP::...er::SOM(3pm)

πŸ’– SOAP::WSDL::Deserializer::SOM πŸ’–

okay so bestie, welcome to the manual page for SOAP::WSDL::Deserializer::SOM β€” which lives in the User Contributed Perl Documentation section, if you're the kind of person who reads section 3pm pages for fun (respect, honestly πŸ’…). It turns SOAP messages into SOM objects. Let's get into it πŸ¦‹


✨ NAME ✨

SOAP::WSDL::Deserializer::SOM β€” it's a deserializer, and its whole job is turning SOAP messages into SOM objects. That's the vibe. πŸŽ€


🌸 SYNOPSIS 🌸

use SOAP::WSDL;
use SOAP::WSDL::Deserializer::SOM;
use SOAP::WSDL::Factory::Deserializer;
SOAP::WSDL::Factory::Deserializer->register( '1.1', __PACKAGE__ );

πŸ¦‹ DESCRIPTION πŸ¦‹

So this is a deserializer for creating SOAP::Lite's SOM object as the result of a SOAP call. That's the whole point of it. ✨

This package exists for two reasons, and honestly both are so valid:

  • Compatibility β€” you don't have to go rewriting the rest of your SOAP::Lite-based app when you switch over to SOAP::WSDL. Just use SOAP::WSDL::Deserializer::SOM and you get back the same objects you were already used to. no notes, iconic behaviour. πŸ’–
  • Completeness β€” SOAP::Lite covers a lot more of the SOAP specification than SOAP::WSDL does. So SOAP::WSDL::Deserializer::SOM can be used for content that SOAP::WSDL::Deserializer::SOAP11 just cannot deserialize. We're talking XML with mixed content, attachements, and other XML data that isn't (yet πŸ‘€) handled by SOAP::WSDL::Deserializer::SOAP11.

Also, important lore: SOAP::WSDL::Deserializer::SOM is a subclass of SOAP::Deserializer from the SOAP::Lite package. Periodt. πŸ‘‘


πŸ’… METHODS πŸ’…

deserialize

Deserializes a XML sting into a SOAP::SOM object. And if things go sideways during deserialization? It returns a SOAP::Fault object. 😭

generate_fault

Dies with a SOAP::Fault object. That's it, that's the method. dramatic? yes. correct? also yes. πŸ’€


🌈 USAGE 🌈

Bestie, heads up: SOAP::WSDL::Deserializer will not autoregister itself. So if you want it for one specific SOAP version, you gotta do it yourself with these 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__ );

Look at you registering your own deserializer. main character energy, honestly. 🫢


🧚 DIFFERENCES FROM OTHER CLASSES 🧚

Differences from SOAP::Lite

  • No on_fault handler β€” you can't specify what to do when an error occurs (sorry 😭). SOAP::WSDL will return a SOAP::Fault object on transport errors instead, whether you asked for it or not.

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. πŸ’€

And this also means that a SOAP::Fault may be thrown as exception when using

fr fr that's where the original sentence ends, bestie. I'm not gonna invent the rest of it for you πŸ™ˆ

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 $

and that's the whole page, bestie πŸ’œ this one came to you courtesy of perl v5.36.0, dated 2022-10-14, filed under SOAP::...er::SOM(3pm) β€” yes the title is literally abbreviated like that, we love a cryptic queen 🌸 slay, go deserialize something ✨

πŸ“¦ where this page comes from