NAME

XML::Compile::Operation - base-class for possible interactions

INHERITANCE

XML::Compile::Operation is extended by
  XML::Compile::SOAP11::Operation

SYNOPSIS

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

DESCRIPTION

These objects are created by XML::Compile::WSDL11, grouping information about a certain specific message interchange between a client and a server.

METHODS

Constructors

XML::Compile::Operation->new(OPTIONS)

Option   --Default
action     undef
endpoints  []
kin        <required>
nam        <required>
schemas    <required>
transport  'HTTP'

. action => STRING

Some string which is refering to the action which is taken. For SOAP protocols, this defines the soapAction header.

. endpoints => ADDRESS|ARRAY

Where to contact the server.

. kin => d

This returns the type of operation this is. There are four kinds, which are returned as strings one-way, request-response, sollicit-response, and notification. The latter two are initiated by a server, the former two by a client.

. nam => e

. schemas => XML::Compile::Cache

. transport => URI|'HTTP'

HTTP is short for http://schemas.xmlsoap.org/soap/http/, which is a constant to indicate that transport should use the HyperText Transfer Protocol.

Accessors

$obj->action

$obj->clientClass

Returns the class name which implements the Client side for this protocol.

$obj->endPoints

Returns the list of alternative URLs for the end-point, which should be defined within the service's port declaration.

$obj->kind

$obj->name

$obj->schemas

$obj->serverClass

Returns the class name which implements the Server side for this protocol.

$obj->version

Handlers

$obj->compileClient(OPTIONS)

Returns one CODE reference which handles the conversion from a perl data-structure into a request message, the transmission of the request, the receipt of the answer, and the decoding of that answer into a Perl data-structure.

$obj->compileHandler(OPTIONS)

Returns a code reference which translates in incoming XML message into Perl a data-structure, then calls the callback. The result of the callback is encoded from Perl into XML and returned.

Option  --Default
callback  <required>

. callback => CODE

$obj->compileTransporter(OPTIONS)

Option        --Default
endpoint        <from WSDL>
transport_hook  undef
transporter     <created>

. endpoint => URI

Overrule the destination address.

. transport_hook => CODE

Passed to XML::Compile::Transport::compileClient(hook). Can be used to create off-line tests and last resort work-arounds. See the DETAILs chapter in the XML::Compile::Transport manual page.

. transporter => CODE

The routine which will be used to exchange the data with the server. This code is created by an XML::Compile::Transport::compileClient() extension. By default, a transporter compatible to the protocol is created. However, in most cases you want to reuse one (HTTP1.1) connection to a server.

Helpers

XML::Compile::Operation->register(URI, ENVNS)

Declare an operation type, but WSDL specific URI and envelope namespace.

SEE ALSO

This module is part of XML-Compile-SOAP distribution version 2.02, built on February 15, 2009. Website: http://perl.overmeer.net/xml-compile/

All modules in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, 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 life contact with other developers, visit the #xml-compile channel on irc.perl.org.

LICENSE

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