=head1 NAME XML::Compile::WSDL11 - create SOAP messages defined by WSDL 1.1 =head1 INHERITANCE XML::Compile::WSDL11 is a XML::Compile::Cache is a XML::Compile::Schema is a XML::Compile =head1 SYNOPSIS # preparation use XML::Compile::WSDL11; # use WSDL version 1.1 use XML::Compile::SOAP11; # use SOAP version 1.1 use XML::Compile::Transport::SOAPHTTP; my $wsdl = XML::Compile::WSDL11->new($wsdlfile); $wsdl->addWSDL(...more WSDL files...); $wsdl->importDefinitions(...more schemas...); # during initiation, for each used call (slow) my $call = $wsdl->compileClient('GetStockPrice', ...); # at "run-time", call as often as you want (fast) my $answer = $call->(%request); # capture useful trace information my ($answer, $trace) = $call->(%request); # when you like, get all operation definitions my @all_ops = $wsdl->operations; # Install XML::Compile::SOAP::Daemon my $server = XML::Compile::SOAP::HTTPDaemon->new; $server->actionsFromWSDL($wsdl); # For debug info, start your script with: use Log::Report mode => 'DEBUG'; =head1 DESCRIPTION This module implements WSDL version 1.1. An WSDL file defines a set of messages to be send and received over (SOAP) connections. As end-user, you do not have to worry about the complex details of the messages and the way to exchange of them: it's all simple Perl for you. Also faults are handled automatically. The only complication you have to worry about, is to shape a nested HASH structure to the sending message structure. L may help you. When the definitions are spread over multiple files, you will need to use L (wsdl), or L (additional schema's) explicitly, because L does not wish dynamic internet download magic to happen. =head1 METHODS =head2 Constructors XML::Compile::WSDL11-EB(XML, OPTIONS) =over 4 The XML is the WSDL file, which is anything accepted by L. All options are also passed to create an internal L object. See L Option --Defined in --Default allow_undeclared XML::Compile::Cache any_element XML::Compile::Cache 'SKIP_ALL' block_namespace XML::Compile::Schema [] hook XML::Compile::Schema undef hooks XML::Compile::Schema [] ignore_unused_tags XML::Compile::Schema key_rewrite XML::Compile::Schema [] opts_readers XML::Compile::Cache [] opts_rw XML::Compile::Cache [] opts_writers XML::Compile::Cache [] prefixes XML::Compile::Cache schema_dirs XML::Compile undef typemap XML::Compile::Schema {} . allow_undeclared => BOOLEAN . any_element => CODE|'TAKE_ALL'|'SKIP_ALL'|'ATTEMPT' . block_namespace => NAMESPACE|TYPE|HASH|CODE|ARRAY . hook => ARRAY-WITH-HOOKDATA | HOOK . hooks => ARRAY-OF-HOOK . ignore_unused_tags => BOOLEAN|REGEXP . key_rewrite => HASH|CODE|ARRAY-of-HASH-and-CODE . opts_readers => HASH|ARRAY-of-PAIRS . opts_rw => HASH|ARRAY-of-PAIRS . opts_writers => HASH|ARRAY-of-PAIRS . prefixes => HASH|ARRAY-of-PAIRS . schema_dirs => DIRECTORY|ARRAY-OF-DIRECTORIES . typemap => HASH =back =head2 Accessors $obj-EB(HOOKDATA|HOOK|undef) =over 4 See L =back $obj-EB(HOOK, [HOOK, ...]) =over 4 See L =back $obj-EB(PREDEF|CODE|HASH, ...) =over 4 See L =back $obj-EB(DIRECTORIES|FILENAME) XML::Compile::WSDL11-EB(DIRECTORIES|FILENAME) =over 4 See L =back $obj-EB(XML, OPTIONS) =over 4 See L =back $obj-EB(PAIR) =over 4 See L =back $obj-EB(PAIRS) =over 4 See L =back $obj-EB([BOOLEAN]) =over 4 See L =back $obj-EB(NAMESPACE|TYPE|HASH|CODE|ARRAY) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(PREFIX) =over 4 See L =back $obj-EB(URI) =over 4 See L =back $obj-EB(TYPE) =over 4 See L =back $obj-EB([PAIRS|ARRAY|HASH]) =over 4 See L =back $obj-EB(SCHEMA, [SCHEMA]) =over 4 See L =back =head2 Compilers $obj-EB(('READER'|'WRITER'), TYPE, OPTIONS) =over 4 See L =back $obj-EB(['READER'|'WRITER'|'RW', [NAMESPACE]]) =over 4 See L =back XML::Compile::WSDL11-EB(NODE|REF-XML-STRING|XML-STRING|FILENAME|FILEHANDLE|KNOWN) =over 4 See L =back $obj-EB(TYPE|NAME, OPTIONS) =over 4 See L =back $obj-EB