NAME

XML::Compile::WSDL11::Operation - defines a possible SOAP interaction

INHERITANCE

SYNOPSIS

# created by XML::Compile::WSDL11
### this implementation has not yet finished

DESCRIPTION

These objects are created by XML::Compile::WSDL11, grouping information about a certain specific message interchange between a client and a server. You can better (try to) create a WSDL file itself, then attempt to instantiate these objects yourself... or even better: use XML::Compile::SOAP11 directly, and forget WSDL complexity.

There are two styles of SOAP: document-style and XML-RPC. The former can be used directly, for the XML-RPC will require you to specify explicitly a prototype for the call. See XML::Compile::WSDL11::Operation subroutine rpcPrototype ???

METHODS

Constructors

$obj->new(OPTIONS)

    The OPTIONS are all collected from the WSDL description by XML::Compile::WSDL subroutine operation. End-users should not attempt to initiate this object directly.

    Option       --Default
    action         <from wsdl>
    bind_op        undef
    binding        <required>
    port           <required>
    portOperation  <required>
    portType       <required>
    protocol       'HTTP'
    service        <required>
    style          <from wsdl operation style> | 'document'
    wsdl           <required>

    . action => URI

    . bind_op => HASH

    . binding => HASH

    . port => HASH

    . portOperation => HASH

    . portType => HASH

    . protocol => 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.

    . service => HASH

    . style => 'document'|'rpc'

    . wsdl => XML::Compile::WSDL11 object

Accessors

$obj->bindOperation

$obj->bindings

$obj->port

$obj->portOperation

$obj->portType

$obj->schemas

$obj->service

$obj->wsdl

Use

$obj->endPointAddresses

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

$obj->kind

    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.

$obj->soapAction

$obj->soapNameSpace

Handlers

$obj->prepareClient(OPTIONS)

    Returns one CODE reference which handles the processing for this operation.

    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.

    Option        --Default
    protocol        new(protocol)|<from soapAction>
    style           new(style)|'document'
    transport_hook  undef

    . protocol => URI|'HTTP'

      Only the HTTP protocol is supported on the moment. The URI is the WSDL URI representation of the HTTP protocol.

    . style => 'document'|'rpc'

    . transport_hook => CODE

$obj->prepareServer(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.

    Returned is a LIST of three: the soapAction string, the request decoder CODE reference, and the answer encoder CODE reference.

Helpers

$obj->canTransport(PROTOCOL, STYLE)

    Returns a true value when the pair with URI of the PROTOCOL and processing style (either document (default) or rpc) is provided as soap binding. If the style was not specified explicitly with new(style), it will be looked-up. The style is returned as trueth value.

$obj->collectFaultParts(ARGS, PORT-OP, BIND-OP)

$obj->collectMessageParts(ARGS, PORT-OP, BIND-OP)

    Collect the components of the message which are actually being used.

$obj->compileMessages(ARGS, 'CLIENT'|'SERVER', SOAP)

$obj->messageSelectParts(MESSAGE, [NAMES])

    Collect the named message parts. If no names are specified, then all are all returned.

SEE ALSO

This module is part of XML-Compile-SOAP distribution version 0.55, built on October 03, 2007. Website: http://perl.overmeer.net/xml-compile/

LICENSE

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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 74:

Deleting unknown formatting code M<>