NAME
XML::Compile::SOAP11::Operation - defines a SOAP11 interaction
INHERITANCE
XML::Compile::SOAP11::Operation
is a XML::Compile::SOAP::Operation
SYNOPSIS
# object created by XML::Compile::WSDL*
my $op = $wsdl->operation('GetStockPrices');
DESCRIPTION
Objects of this type define one possible SOAP11 interaction, either client side or server side.
METHODS
Constructors
XML::Compile::SOAP11::Operation->new(OPTIONS)
input_def
, output_def
and fault_def
are HASHes which contain the input and output message header, body and fault-header definitions in WSDL1.1 style.
Option --Defined in --Default
action XML::Compile::SOAP::Operation undef
endpoints XML::Compile::SOAP::Operation []
fault_def <undef>
input_def <undef>
kin XML::Compile::SOAP::Operation <required>
nam XML::Compile::SOAP::Operation <required>
output_def <undef>
schemas XML::Compile::SOAP::Operation <required>
style 'document'
transport XML::Compile::SOAP::Operation 'HTTP'
. action => STRING
. endpoints => ADDRESS|ARRAY
. fault_def => HASH
. input_def => HASH
. kin => d
. nam => e
. output_def => HASH
. schemas => XML::Compile::Cache
. style => 'document'|'rpc'
. transport => URI|'HTTP'
Accessors
$obj->bindingName
$obj->clientClass
$obj->endPoints
$obj->kind
$obj->name
$obj->portName
$obj->schemas
$obj->serverClass
$obj->serviceName
$obj->soapAction
$obj->style
$obj->version
$obj->wsaAction('INPUT'|'OUTPUT')
Modify
Operations are often modified by SOAP extensions. See XML::Compile::SOAP::WSA, for instance. Also demonstrated in the FAQ, XML::Compile::SOAP::FAQ.
$obj->addHeader(('INPUT'|'OUTPUT'|'FAULT'), LABEL, ELEM)
Handlers
$obj->compileClient(OPTIONS)
Returns one CODE reference which handles the processing for this operation. Options transporter
, transport_hook
, and endpoint
are passed to compileTransporter().
You pass that CODE reference an input message of the correct type, as pure Perl HASH structure. An 'request-response' operation will return then answer, or undef
in case of failure. An 'one-way' operation with return undef
in case of failure, and a true value when successfull.
You cannot pass options for XML::Compile::Schema::compile(), like <sloppy_integers =
0>>, hooks or typemaps this way. Provide these to the ::WSDL
or other ::Cache
object which defines the types, via new
option opts_rw
and friends.
$obj->compileHandler(OPTIONS)
Prepare the routines which will decode the request and encode the answer, as will be run on the server. The XML::Compile::SOAP::Server will connect these. All OPTIONS will get passed to XML::Compile::SOAP11::Server::compileHandler()
Option --Default
callback <required>
selector <from input def>
. callback => CODE
. selector => CODE
Determines whether the handler belongs to a received message.
$obj->compileTransporter(OPTIONS)
Helpers
$obj->explain(WSDL, FORMAT, DIRECTION, OPTIONS)
[since 2.13]
Dump an annotated structure showing how the operation works, helping developers to understand the schema. FORMAT is always PERL
: XML
is not yet supported.
The DIRECTION is INPUT
, it will return the message which the client sends to the server (input for the server). The OUTPUT
message is sent as response by the server.
All OPTIONS besides those described here are passed to XML::Compile::Schema::template(), when recurse
is enabled.
Option --Default
recurse <false>
skip_header <false>
. recurse => BOOLEAN
Append the templates of all the part structures.
. skip_header => BOOLEAN
XML::Compile::SOAP11::Operation->register(URI, ENVNS)
SEE ALSO
This module is part of XML-Compile-SOAP distribution version 2.19, built on November 09, 2010. Website: http://perl.overmeer.net/xml-compile/
Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite, XML::eXistDB, and XML::LibXML::Simple.
Please post questions or ideas to the mailinglist at http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/xml-compile For live contact with other developers, visit the #xml-compile
channel on irc.perl.org
.
LICENSE
Copyrights 2007-2010 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html