XML::Compile::SOAP::WSA - SOAP Web Service Addressing
XML::Compile::SOAP::WSA is a XML::Compile::SOAP::Extension
# 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;
The Web Service Addressing protocol is used to select certain service and port on a SOAP server, just like the "Host" header in HTTP.
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.
soapAction
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.
wsa_To
wsa_Action
Supported fields:
Action FaultTo From MessageID RelatesTo ReplyTo RetryAfter To
Extends "DESCRIPTION" in XML::Compile::SOAP::Extension.
Extends "METHODS" in XML::Compile::SOAP::Extension.
Extends "Constructors" in XML::Compile::SOAP::Extension.
-Option --Default version <required>
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 WSA10MODULE.
0.9
::Util
WSA10MODULE
Extends "WSDL11" in XML::Compile::SOAP::Extension.
Inherited, see "WSDL11" in XML::Compile::SOAP::Extension
Extends "SOAP11" in XML::Compile::SOAP::Extension.
Inherited, see "SOAP11" in XML::Compile::SOAP::Extension
Extends "SOAP12" in XML::Compile::SOAP::Extension.
Inherited, see "SOAP12" in XML::Compile::SOAP::Extension
Returns the version number.
Returns the namespace used for this WSA version.
http://www.w3.org/TR/ws-addr-core, 9 May 2006
http://www.w3.org/TR/ws-addr-soap, 9 May 2006
http://www.w3.org/TR/ws-addr-wsdl, 29 May 2006
This module is part of XML-Compile-WSA distribution version 0.95, built on January 15, 2020. Website: http://perl.overmeer.net/CPAN/
Copyrights 2010-2020 by [Mark Overmeer <markov@cpan.org>]. 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://dev.perl.org/licenses/
To install XML::Compile::WSA, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XML::Compile::WSA
CPAN shell
perl -MCPAN -e shell install XML::Compile::WSA
For more information on module installation, please visit the detailed CPAN module installation guide.