Scroll to navigation

SOAP::WSDL::Factory::Generator(3pm) User Contributed Perl Documentation SOAP::WSDL::Factory::Generator(3pm)

NAME

SOAP::WSDL::Factory:Generator - Factory for retrieving generator objects

SYNOPSIS

 # from SOAP::WSDL::Client:
 $generator = SOAP::WSDL::Factory::Generator->get_generator({
     soap_version => $soap_version,
 });
 # in generator class:
 package MyWickedGenerator;
 use SOAP::WSDL::Factory::Generator;
 # register as generator for SOAP1.2 messages
 SOAP::WSDL::Factory::Generator->register( '1.2' , __PACKAGE__ );

DESCRIPTION

SOAP::WSDL::Factory::Generator serves as factory for retrieving generator objects for SOAP::WSDL.
The actual work is done by specific generator classes.
SOAP::WSDL::Generator tries to load one of the following classes:
the class registered for the scheme via register()

METHODS

register

 SOAP::WSDL::Generator->register('Lite', 'MyWickedGenerator');
Globally registers a class for use as generator class.

get_generator

Returns an object of the generator class for this endpoint.

WRITING YOUR OWN GENERATOR CLASS

Registering a generator

Generator classes may register with SOAP::WSDL::Factory::Generator.
Registering a generator class with SOAP::WSDL::Factory::Generator 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::Generator->register( $version, $class);
To auto-register your transport class on loading, execute register() in your generator class (see SYNOPSIS above).

Generator package layout

Generator modules must be named equal to the generator class they contain. There can only be one generator class per generator module.

Methods to implement

Generator classes must implement the following methods:
new
 
Constructor.
generate
 
Generate SOAP interface
Generators may implements one or more of the following configuration methods. All of them are tried via can() by wsdl2perl.
set_wsdl
 
Set the raw WSDL XML. Implement if you have your own WSDL parser.
set_definitions
 
Sets the (parsed) SOAP::WSDL::Definitions object.
set_type_prefix
 
Sets the prefix for XML Schema type classes
set_element_prefix
 
Sets the prefix for XML Schema element classes
set_typemap_prefix
 
Sets the prefix for typemap classes (class resolvers).
set_interface_prefix
 
Sets the prefix for interface classes
set_typemap
 
Set user-defined typemap snippet

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 $
2010-12-21 perl v5.10.1