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

NAME

XML::Compile::SOAP12::Operation - defines a SOAP12 interaction

INHERITANCE

 XML::Compile::SOAP12::Operation
   is a XML::Compile::SOAP::Operation

SYNOPSIS

 ### Don't use this (yet!!!)  not completed!!!

 # object created by XML::Compile::WSDL*
 my $op = $wsdl->operation('GetStockPrices');

DESCRIPTION

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

METHODS

Constructors

XML::Compile::SOAP12::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')

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.

    Besides the OPTIONS listed, you can also specify anything which is accepted by XML::Compile::Schema::compile(), like sloppy_integers => 1 or hooks.

$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.

     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)

    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::SOAP12::Operation->register(URI, ENVNS)

SEE ALSO

This module is part of XML-Compile-SOAP12 distribution version 2.02, 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 2009-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