NAME
XML::Compile::SOAP::WSA - SOAP Web Service Addressing
INHERITANCE
XML::Compile::SOAP::WSA
is a XML::Compile::SOAP::Extension
SYNOPSIS
# use WSA via WSDL, wsa header fields start with wsa_
use XML::Compile::WSDL11; # first
use XML::Compile::SOAP::WSA; # hooks into wsdl
my $wsa = XML::Compile::SOAP::WSA->new(version => '1.0');
my $wsdl = XML::Compile::WSDL11->new(...);
my $call = $wsdl->compileClient('some_operation');
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. This works both for soap clients (created with XML::Compile::SOAP) as for the soap server (created with XML::Compile::SOAP::Daemon): simply require the WSA module to get the hooks installed.
Supported fields:
Action
FaultTo
From
MessageID
RelatesTo
ReplyTo
RetryAfter
To
Extends "DESCRIPTION" in XML::Compile::SOAP::Extension.
METHODS
Extends "METHODS" in XML::Compile::SOAP::Extension.
Constructors
Extends "Constructors" in XML::Compile::SOAP::Extension.
- 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 currentlyWSA10MODULE
.
WSDL11
Extends "WSDL11" in XML::Compile::SOAP::Extension.
- $obj->wsdl11Init($wsdl, $args)
- XML::Compile::SOAP::WSA->wsdl11Init($wsdl, $args)
-
Inherited, see "WSDL11" in XML::Compile::SOAP::Extension
SOAP11
Extends "SOAP11" in XML::Compile::SOAP::Extension.
- $obj->soap11ClientWrapper($operation, $call, $args)
-
Inherited, see "SOAP11" in XML::Compile::SOAP::Extension
- $obj->soap11HandlerWrapper($operation, $callback, $args)
-
Inherited, see "SOAP11" in XML::Compile::SOAP::Extension
- $obj->soap11OperationInit($operation, $args)
- XML::Compile::SOAP::WSA->soap11OperationInit($operation, $args)
-
Inherited, see "SOAP11" in XML::Compile::SOAP::Extension
SOAP12
Extends "SOAP12" in XML::Compile::SOAP::Extension.
- $obj->soap12ClientWrapper($operation, $call, $args)
-
Inherited, see "SOAP12" in XML::Compile::SOAP::Extension
- $obj->soap12HandlerWrapper($operation, $callback, $args)
-
Inherited, see "SOAP12" in XML::Compile::SOAP::Extension
- $obj->soap12OperationInit($operation, $args)
- XML::Compile::SOAP::WSA->soap12OperationInit($operation, $args)
-
Inherited, see "SOAP12" in XML::Compile::SOAP::Extension
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
SYNOPSYS
Extends "SYNOPSYS" in XML::Compile::SOAP::Extension.
SEE ALSO
This module is part of XML-Compile-WSA distribution version 0.93, built on February 06, 2014. Website: http://perl.overmeer.net/xml-compile/
Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::WSDL11, 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 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 2010-2014 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