NAME

XML::Compile::SOAP::WSS - Web Service Security used in SOAP

INHERITANCE

XML::Compile::SOAP::WSS
  is a XML::Compile::SOAP::Extension

SYNOPSIS

use XML::Compile::SOAP::WSDL11;
use XML::Compile::SOAP::WSS;

# strict order of instantiation!
my $wss  = XML::Compile::SOAP::WSS->new; # hooks WSDL parser
my $wsdl = XML::Compile::WSDL11->new($wsdlfn);    

my $auth = $wss->basicAuth               # add Security record
  ( username => $user
  , password => $password
  );

# Will include all defined security features
my $call     = $wsdl->compileClient($opname);
my ($answer, $trace) = $call->(%data);

# Only explicit security features:
my $call     = $wsdl->compileClient($opname);
my ($answer, $trace) = $call->(wsse_Security => $auth, %data);

my @features = ($auth, ...);    # any selection of features
my $answer   = $call->(wsse_Security => \@features, %data);

DESCRIPTION

The Web Service Security protocol is implemented in the sub-classes of XML::Compile::WSS. This module integrates WSS features in SOAP usage.

This module is an XML::Compile::SOAP::Extension; a plugin for the SOAP infra-structure. Many of these extension protocols behave badly: they usually interfere with the WSDL specification. Therefore, all WSDL plugins have to be instantiated before the WSDL files get read, i.e. before the WSDL object itself gets instantiated. The use of the information can only take place when all schema's are read, so these security features can only be created after that.

METHODS

Constructors

XML::Compile::SOAP::WSS->new(OPTIONS)
-Option--Default
 schema  undef
schema => XML::Compile::Cache object

Do not use this in combination with a WSDL, but always in any other case.

Attributes

$obj->addFeature(WSSOBJ)

Add a new XML::Compile::WSS object to the list of maintained features.

$obj->features()

Returns a list of all security features.

$obj->schema()

Security features

Create one or more of these "features", components in the security header.

$obj->basicAuth(OPTIONS)

Implements username/password authentication. See documentation in XML::Compile::WSS::BasicAuth. The OPTIONS are passed to its new() method.

$obj->signature(OPTIONS)

Put a crypto signature on one or more elements. See documentation in XML::Compile::WSS::Signature. The OPTIONS are passed to its new() method.

-Option    --Default
 sign_types  'SOAP-ENV:Body'
sign_types => ARRAY

[1.08] specify the types of elements which need to be signed. If you have more elements of the same type, they will all get signed.

$obj->timestamp(OPTIONS)

Adds a timestamp record to the Security header. See documentation in XML::Compile::WSS::Timestamp. The OPTIONS are passed to its new() method.

SEE ALSO

This module is part of XML-Compile-WSS distribution version 1.09, built on October 11, 2013. 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 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 2011-2013 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