.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "SOAP::WSDL::Factory::Generator 3pm" .TH SOAP::WSDL::Factory::Generator 3pm "2018-05-05" "perl v5.26.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" SOAP::WSDL::Factory:Generator \- Factory for retrieving generator objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 \& # 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( \*(Aq1.2\*(Aq , _\|_PACKAGE_\|_ ); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" SOAP::WSDL::Factory::Generator serves as factory for retrieving generator objects for \s-1SOAP::WSDL.\s0 .PP The actual work is done by specific generator classes. .PP SOAP::WSDL::Generator tries to load one of the following classes: .IP "\(bu" 4 the class registered for the scheme via \fIregister()\fR .SH "METHODS" .IX Header "METHODS" .SS "register" .IX Subsection "register" .Vb 1 \& SOAP::WSDL::Generator\->register(\*(AqLite\*(Aq, \*(AqMyWickedGenerator\*(Aq); .Ve .PP Globally registers a class for use as generator class. .SS "get_generator" .IX Subsection "get_generator" Returns an object of the generator class for this endpoint. .SH "WRITING YOUR OWN GENERATOR CLASS" .IX Header "WRITING YOUR OWN GENERATOR CLASS" .SS "Registering a generator" .IX Subsection "Registering a generator" Generator classes may register with SOAP::WSDL::Factory::Generator. .PP Registering a generator class with SOAP::WSDL::Factory::Generator is done by executing the following code where \f(CW$version\fR is the \s-1SOAP\s0 version the class should be used for, and \f(CW$class\fR is the class name. .PP .Vb 1 \& SOAP::WSDL::Factory::Generator\->register( $version, $class); .Ve .PP To auto-register your transport class on loading, execute \fIregister()\fR in your generator class (see \s-1SYNOPSIS\s0 above). .SS "Generator package layout" .IX Subsection "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. .SS "Methods to implement" .IX Subsection "Methods to implement" Generator classes must implement the following methods: .IP "\(bu" 4 new .Sp Constructor. .IP "\(bu" 4 generate .Sp Generate \s-1SOAP\s0 interface .PP Generators may implements one or more of the following configuration methods. All of them are tried via \fIcan()\fR by wsdl2perl. .IP "\(bu" 4 set_wsdl .Sp Set the raw \s-1WSDL XML.\s0 Implement if you have your own \s-1WSDL\s0 parser. .IP "\(bu" 4 set_definitions .Sp Sets the (parsed) SOAP::WSDL::Definitions object. .IP "\(bu" 4 set_type_prefix .Sp Sets the prefix for \s-1XML\s0 Schema type classes .IP "\(bu" 4 set_element_prefix .Sp Sets the prefix for \s-1XML\s0 Schema element classes .IP "\(bu" 4 set_typemap_prefix .Sp Sets the prefix for typemap classes (class resolvers). .IP "\(bu" 4 set_interface_prefix .Sp Sets the prefix for interface classes .IP "\(bu" 4 set_typemap .Sp Set user-defined typemap snippet .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" Copyright 2007 Martin Kutter. All rights reserved. .PP This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself .SH "AUTHOR" .IX Header "AUTHOR" Martin Kutter .SH "REPOSITORY INFORMATION" .IX Header "REPOSITORY INFORMATION" .Vb 4 \& $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 $ .Ve