NAME
XML::Compile::Operation - base-class for possible interactions
INHERITANCE
XML::Compile::Operation is extended by
XML::Compile::SOAP11::Operation
XML::Compile::SOAP12::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->bindingName
$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->portName
$obj->schemas
$obj->serverClass
Returns the class name which implements the Server side for this protocol.
$obj->serviceName
$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)
Create the transporter code for a certain specific target.
Option --Default
endpoint <from WSDL>
server undef
transport_hook undef
transporter <created>
. endpoint => URI|ARRAY-of-URI
Overrule the destination address(es).
. server => URI-HOST
Overrule only the server part in the endpoint, not the whole endpoint. This could be a string like username:password@myhost:4711
. Only used when no explicit endpoint
is provided.
. 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
$obj->explain(WSDL, FORMAT, DIRECTION, OPTIONS)
Dump an annotated structure showing how the operation works, helping developers to understand the schema. FORMAT is PERL
or XML
.
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.
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.15, built on June 15, 2010. 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::SOAP::WSA, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, and XML::Rewrite, XML::ExistDB, 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-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