NAME

XML::Compile::SOAP::WSA - SOAP Web Service Addressing

INHERITANCE

XML::Compile::SOAP::WSA
  is a XML::Compile::SOAP::Extension

SYNOPSIS

# load the module
use XML::Compile::SOAP::WSA;
my $wsa  = XML::Compile::SOAP::WSA->new(version => '1.0');

# you may need some constants (rarely)
use XML::Compile::SOAP::WSA::Util ':wsa10';

# use WSA via WSDL
my $wsdl = XML::Compile::WSDL11->new(...);
my $call = $wsdl->compileClient('some_operation');

# wsa header fields start with wsa_
my ($data, $trace) = $call->(wsa_MessageID => 'xyz', %data);

print $wsdl->operation('myop')->wsaAction;

DESCRIPTION

The Web Service Addressing protocol is used to select certain service and port on a SOAP server, just like the "Host" header in HTTP.

The basic SOAP design uses the URI and the soapAction header of HTTP (in case it uses HTTP, by far the most often used transport mechanism) However, when the server is hidden behind firewalls and proxies, these fields are rewritten or replaced. This means that the definitions by the WSDL for the client can differ from the configuration of the server. This is where WSA comes into play.

When WSA is enabled, header fields are added. Automatically, the obligatory wsa_To and wsa_Action fields will be added to each request, although you may change their values with call parameters.

Warning: this being a very recent module, thing may not work. There is no real-life experience with the code, as yet. Please contact the author when you are succesful or discovered problems.

METHODS

Constructors

XML::Compile::SOAP::WSA->new(OPTIONS)

    Option --Default
    version  <required>

    . version => '0.9'|'1.0'|MODULE

      Explicitly state which version WSA needs to be produced. You may use a version number (where 0.9 is used to represent the "submission" specification). You may also use the MODULE name, which is a namespace constant, provided via ::Util. The only option is currently WSL10MODULE.

WSDL11

$obj->wsdl11Init(WSDL, ARGS)

XML::Compile::SOAP::WSA->wsdl11Init(WSDL, ARGS)

SOAP11

$obj->soap11ClientWrapper(OPERATION, CALL, ARGS)

$obj->soap11HandlerWrapper(OPERATION, CALLBACK, ARGS)

$obj->soap11OperationInit(OPERATION, ARGS)

XML::Compile::SOAP::WSA->soap11OperationInit(OPERATION, ARGS)

Attributes

$obj->version

    Returns the version number.

$obj->wsaNS

    Returns the namespace used for this WSA version.

SEE ALSO

Web Services Addressing 1.0 - Core

http://www.w3.org/TR/ws-addr-core, 9 May 2006

Web Services Addressing 1.0 - SOAP Binding

http://www.w3.org/TR/ws-addr-soap, 9 May 2006

Web Services Addressing 1.0 - WSDL Binding

http://www.w3.org/TR/ws-addr-wsdl, 29 May 2006

SEE ALSO

This module is part of XML-Compile-SOAP-WSA distribution version 0.12, built on November 01, 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 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