The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SOAP::WSDL::Definitions - model a WSDL >definitions< element

DESCRIPTION

METHODS

first_service get_service set_service push_service

Accessors/Mutators for accessing / setting the >service< child element(s).

find_service

Returns the service matching the namespace/localname pair passed as arguments.

 my $service = $wsdl->find_service($namespace, $localname);

first_binding get_binding set_binding push_binding

Accessors/Mutators for accessing / setting the >binding< child element(s).

find_service

Returns the binding matching the namespace/localname pair passed as arguments.

 my $binding = $wsdl->find_binding($namespace, $localname);

first_portType get_portType set_portType push_portType

Accessors/Mutators for accessing / setting the >portType< child element(s).

find_portType

Returns the portType matching the namespace/localname pair passed as arguments.

 my $portType = $wsdl->find_portType($namespace, $localname);

first_message get_message set_message push_message

Accessors/Mutators for accessing / setting the >message< child element(s).

find_service

Returns the message matching the namespace/localname pair passed as arguments.

 my $message = $wsdl->find_message($namespace, $localname);

first_types get_types set_types push_types

Accessors/Mutators for accessing / setting the >types< child element(s).

explain

Returns a POD string describing how to call the methods of the service(s) described in the WSDL.

to_typemap

Creates a typemap for use with a generated type class library.

Options:

 NAME            DESCRIPTION
 -------------------------------------------------------------------------
 prefix          Prefix to use for all classes
 type_prefix     Prefix to use for all (Complex/Simple)Type classes
 element_prefix  Prefix to use for all Element classes (with atomic types)

As some webservices tend to use globally unique type definitions, but locally unique elements with atomic types, type and element classes may be separated by specifying type_prefix and element_prefix instead of prefix.

The typemap is plain text which can be used as snipped for building a SOAP::WSDL class_resolver perl class.

Try something like this for creating typemap classes:

 my $parser = XML::LibXML->new();
 my $handler = SOAP::WSDL::SAX::WSDLHandler->new()
 $parser->set_handler( $handler );
 
 $parser->parse_url('file:///path/to/wsdl');

 my $wsdl = $handler->get_data(); 
 my $typemap = $wsdl->to_typemap();

 print <<"EOT"
 package MyTypemap;
 my \%typemap = (
  $typemap
 );
 sub get_class { return \$typemap{\$_[1] } };
 1;
 "EOT"

LICENSE

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>