XML::Compile::SOAP11::Operation(3) 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');
$op->explain($wsdl, PERL => 'INPUT', recurse => 1);

DESCRIPTION

Objects of this type define one possible SOAP11 interaction, either client side or server side.

Extends ``DESCRIPTION'' in XML::Compile::SOAP::Operation.

METHODS

Extends ``METHODS'' in XML::Compile::SOAP::Operation.

Constructors

Extends ``Constructors'' in XML::Compile::SOAP::Operation.
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>
  kind         XML::Compile::SOAP::Operation  <required>
  name         XML::Compile::SOAP::Operation  <required>
  output_def                                  <undef>
  schemas      XML::Compile::SOAP::Operation  <required>
  server_type  XML::Compile::SOAP::Operation  undef
  style                                       'document'
  transport    XML::Compile::SOAP::Operation  'HTTP'
action => STRING
endpoints => ADDRESS|ARRAY
fault_def => HASH
input_def => HASH
kind => 'one-way'|...
name => STRING
output_def => HASH
schemas => XML::Compile::Cache
server_type => NAME
style => 'document'|'rpc'
transport => URI|'HTTP'

Accessors

Extends ``Accessors'' in XML::Compile::SOAP::Operation.
$obj->bindingName()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->clientClass()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->endPoints()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->kind()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->longName()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->name()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->portName()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->schemas()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->serverClass()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->serviceName()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->soapAction()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->style()
$obj->version()
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation
$obj->wsaAction('INPUT'|'OUTPUT')
Inherited, see ``Accessors'' in XML::Compile::SOAP::Operation

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, $element, %options )
Add a header definitions. Many protocols on top of SOAP, like WSS, add headers to the operations which are not specified in the WSDL.

[2.31] When you add a header with same $label again, it will get silently ignored unless the $element type differs. An $element is either a full type or a [3.00] prefixed type.

 -Option        --Default
  destination     undef
  mustUnderstand  undef
destination => ROLE
[2.33] adds the destination attribute.
mustUnderstand => BOOLEAN
[2.33] adds the mustUnderstand attribute.

Handlers

Extends ``Handlers'' in XML::Compile::SOAP::Operation.
$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)
Inherited, see ``Handlers'' in XML::Compile::SOAP::Operation

Helpers

Extends ``Helpers'' in XML::Compile::SOAP::Operation.
$obj->explain($wsdl, $format, $direction, %options)
[since 2.13]

Dump an annotated structure showing how the operation works, helping developers to understand the schema. The $format must be string ``PERL''. ($format ``XML'' is not yet supported)

When the $direction is string ``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
$obj->parsedWSDL(%options)
Inherited, see ``Helpers'' in XML::Compile::SOAP::Operation

LICENSE

Copyrights 2007-2016 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