NAME
XML::Compile::SOAP::Operation - base-class for possible interactions
INHERITANCE
XML::Compile::SOAP::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::SOAP::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
, andnotification
. 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 forhttp://schemas.xmlsoap.org/soap/http/
, which is a constant to indicate that transport should use the HyperText Transfer Protocol.
Accessors
- $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->soapAction()
-
Used for the
soapAction
header in HTTP transport, for routing messages through firewalls. - $obj->version()
- $obj->wsaAction('INPUT'|'OUTPUT')
-
Only available when
XML::Compile::SOAP::WSA
is loaded. It specifies the name of the operation in the WSA header. WithINPUT
, it is the Action to be used with a message sent to the server (input to the server). TheOUTPUT
is used by the server in its message back.
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>
- $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 explicitendpoint
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
orXML
.The DIRECTION is
INPUT
, it will return the message which the client sends to the server (input for the server). TheOUTPUT
message is sent as response by the server. - XML::Compile::SOAP::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.33, built on November 30, 2012. 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::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, 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 2007-2012 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