Mark Overmeer > XML-Compile-SOAP > XML::Compile::SOAP11::Operation

Download:
XML-Compile-SOAP-3.05.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  3
View/Report Bugs
Module Version: 3.05   Source  

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');
 $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>
  kin          XML::Compile::SOAP::Operation  <required>
  nam          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
kin => d
nam => e
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->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

SEE ALSO ^

This module is part of XML-Compile-SOAP distribution version 3.05, built on May 28, 2014. Website: http://perl.overmeer.net/xml-compile/

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::WSDL11, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite 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-2014 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

syntax highlighting: