3.7.3 MultiProtocolGatewayDevelopersGuide
3.7.3 MultiProtocolGatewayDevelopersGuide
Version 3.7.3
Version 3.7.3
Contents v
Multistep variables . . . . . . . . . . 365 Appendix D. Getting help and
Transaction variables . . . . . . . . . . . 366 technical assistance . . . . . . . . 375
Asynchronous transaction variables . . . . . 366 Searching knowledge bases . . . . . . . . . 375
Error handling transaction variables . . . . . 367 Getting a fix . . . . . . . . . . . . . . 375
Headers transaction variables . . . . . . . 368 Contacting IBM Support. . . . . . . . . . 376
Persistent connection transaction variables. . . 368
Routing transaction variables . . . . . . . 369
URL-based transaction variables . . . . . . 369
Notices and trademarks . . . . . . . 377
Web Services Management transaction variables 370 Trademarks . . . . . . . . . . . . . . 377
Extension variables . . . . . . . . . . . 370
System variables . . . . . . . . . . . . 372 Index . . . . . . . . . . . . . . . 379
List of available variables . . . . . . . . . 373
Developers should also be familiar with SSL protocol, key exchange (public and
private), digital signatures, cryptographic algorithms, and certificate authorities.
Publications
The IBM WebSphere DataPower library is organized into the following categories:
v Installation and upgrade documentation
v Administration documentation on page ix
v Development documentation on page ix
v Reference documentation on page ix
v Integration documentation on page x
v Problem determination documentation on page x
v Supplemental documentation on page x
viii IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Administration documentation
v IBM WebSphere DataPower SOA Appliances: Appliance Overview
Provides an introduction and understanding of the IBM Websphere DataPower
SOA appliances.
v IBM WebSphere DataPower SOA Appliances: Administrators Guide
Provides instructions for using the DataPower GUI for managing user access,
network access, appliance configuration and system configuration of the
appliance.
v IBM WebSphere DataPower SOA Appliances: Hardware Security Module Guide
A user guide for using a Hardware Security Module (HSM) installed in the
appliance.
Development documentation
v IBM WebSphere DataPower SOA Appliances: XSL Accelerator Developers Guide
Provides instructions for using the WebGUI to configure XSL Proxy and XSL
Co-Processor services.
v IBM WebSphere DataPower SOA Appliances: XML Firewall Developers Guide
Provides instructions for using the WebGUI to configure XML Firewall services.
v IBM WebSphere DataPower SOA Appliances: Web Application Firewall Developers
Guide
Provides instructions for using the WebGUI to configure Web Application
Firewall services.
v IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers
Guide
Provides instructions for using the WebGUI to configure Multiple-Protocol
Gateway services.
v IBM WebSphere DataPower SOA Appliances: Web Service Proxy Developers Guide
Provides instructions for using the WebGUI to configure Web Service Proxy
services.
v IBM WebSphere DataPower SOA Appliances: B2B Gateway Developers Guide
Provides instructions for using the WebGUI to configure B2B Gateway services.
v IBM WebSphere DataPower SOA Appliances: Low Latency Messaging Developers
Guide
Provides instructions for using the WebGUI to configure a DataPower appliance
for low latency messaging.
Reference documentation
v Product-specific documentation for using commands from the command line.
The documentation is specific to each of the following products. Each document
provides an alphabetical listing of all commands with syntactical and functional
descriptions.
IBM WebSphere DataPower XML Accelerator XA35: Command Reference
IBM WebSphere DataPower XML Security Gateway XS40: Command Reference
IBM WebSphere DataPower XML Integration Appliance XI50: Command Reference
IBM WebSphere DataPower B2B Appliance XB60: Command Reference
IBM WebSphere DataPower Low Latency Messaging Appliance XM70: Command
Reference
Preface ix
v IBM WebSphere DataPower SOA Appliances: Extension Elements and Functions
Catalog
Provides programming information about the usage of DataPower XSLT
extension elements and extension functions.
Integration documentation
The following documents are available for managing the integration of related
products that can be associated with the DataPower appliance:
v Integrating with ITCAM
Provides concepts for integrating the DataPower appliance with IBM Tivoli
Composite Application Management for SOA.
v IBM WebSphere DataPower SOA Appliances: Integrating with WebSphere
Transformation Extender
Provides concepts for integrating the DataPower appliance with WebSphere
Transformer Extender.
v IBM WebSphere DataPower SOA Appliances: Integrating with WebSphere MQ
Explains the concepts and common use patterns for connecting DataPower
services to WebSphere MQ systems.
Supplemental documentation
v Understanding Web Services Policy
Provides conceptual information about how the DataPower appliance can use
Web Services Policy (WS-Policy).
v Understanding WS-Addressing
Provides conceptual information about how the DataPower appliance can use
WS-Addressing.
v Understanding LTPA
Provides conceptual information about how the DataPower appliance can use
Lightweight Third Party Authentication.
v Understanding SPNEGO
Provides conceptual information about how the DataPower appliance can use
SPNEGO.
v Optimizing through Streaming
Provides conceptual information about and procedures for optimizing the
DataPower appliance through streaming.
v Securing the Last Mile
Provides conceptual information about and procedures for understanding the
DataPower appliance while securing the last mile.
v Configuring the DoD PKI
Provides conceptual information about and procedures for configuring the
DataPower appliance with Department of Defense Public Key Infrastructure.
If the directory (or domain) supports subdirectories, the path to the file can have a
length of 4000 characters. When you create a domain, its name is the base file
name in several DataPower directories when viewed from the default domain.
Typeface conventions
The following typeface conventions are used in the documentation:
bold Identifies commands, programming keywords, and GUI controls.
italics Identifies words and phrases used for emphasis and user-supplied
variables.
monospaced
Identifies user-supplied input or computer output.
Preface xi
xii IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Chapter 1. WebGUI basics
The WebGUI is the primary interface for managing the appliance itself and for
configuring objects.
Welcome screen
After successfully logging in, the WebGUI displays its Welcome screen. Visibility of
objects in the WebGUI is controlled by a combination of the Role-based
management (RBM) object and whether the administrator is in the default domain
or an application domain.
Input +
When the WebGUI displays this type of input field, you can specify the referenced
object in the following ways:
v Select the name of an existing referenced object from the list.
When you click the + button or ... button, the WebGUI launches a new window
that displays the configuration screen for that type of object.
Input
Delete Add +
When the WebGUI displays this type of list, you can manage referenced objects in
the following ways:
v Select the name of an existing referenced object from the list. Click Add to add it
to the list of referenced objects.
v Use the + button to create a new referenced object. When created, the input field
contains the name of the new referenced object. Click Add to add it to the list of
referenced objects.
v Use the ... button to modify the referenced object whose name is in the input
field. When modified, the input field retains the name of the referenced object.
Click Add to add it to the list of referenced objects.
v Select the name of a referenced object from the list (either the input field or the
list of referenced objects). Click Delete to remove it from the list of referenced
objects.
When you click the + button or ... button, the WebGUI launches a new window
that displays the configuration screen for that type of object.
To retain applied changes across an appliance restart, click Save Config. The
changes are saved to the startup configuration. The startup or persistent
configuration is persisted across an appliance restart. By default, the appliance
reads the startup configuration from the auto-config.cfg file.
Canceling changes
As you use the WebGUI to manage objects, click Cancel to not save the current
changes to the running configuration. If you click Cancel, you return to object
catalog and lose all changes.
Deleting objects
You might want to delete objects that are no longer needed. If no other object
depends on the object to be deleted, you can delete it at any time. Because a
DataPower service is a top-level object, you can delete it at any time. Conversely,
you cannot delete an object that is active and that is in use by a higher-level object.
Deleting an object deletes that object only. Deleting an object does not delete any
referenced object.
Exporting objects
Use the following procedure to export an object:
1. Display the catalog for the object. The catalog lists the available instances of
this object.
2. Click the name of the object to export to display the configuration screen.
3. Click Export.
4. Follow the prompts.
When viewing the object status, the window provides the following information:
v The name of the instance and its type with a control to collapse (hide) or expand
(show) referenced objects
v Its configuration state: New, Modified, or Saved
v It operational state: up or down
v Its administrative state: enabled or disabled
v Details about the detected error, if applicable
v A link (magnifying glass icon) to view the logs for this object
Cloning services
You might want to create a service that is similar to an existing service. For
example, you need two equivalent services, but each service communicates with a
different remote server. In these cases, you can create a clone of an existing service
and edit the clone. The cloning process can expedite the creation of a similar
service.
For complete details about using the probe, refer to the IBM WebSphere DataPower
SOA Appliances: Problem Determination Guide.
Neither key objects nor certificate objects directly support JKS or KDB formats.
Unless you are using an appliance with HSM hardware, you cannot export or
import keys. For details about using an HSM-enabled appliance, refer to the IBM
WebSphere DataPower SOA Appliances: Hardware Security Module Guide.
In other words, use the following procedure to create the key-certificate pair:
1. Use the Crypto Tool to create the key and CSR
2. Store the private key on the box and create a Key object that references it.
3. Send the CSR to VeriSign. Do not store it on the box (except in the temporary:
directory).
If the file is stored in the cert: directory, it cannot be deleted or edited. If a file is
stored in the local: directory or in the temporary: directory, it can be deleted and
edited.
The CSR can be submitted to a certificate authority (CA) to receive a certificate that
is based on this private key. This action creates the following files and objects:
v Creates the private key file in the cert: directory; for example,
cert:///sample-privkey.pem
v Creates the CSR in the temporary: directory; for example, temporary:///
sample.csr
v If Generate Self-Signed Certificate is enabled, creates a self-signed certificate in
the cert: directory; for example, cert:///sample-sscert.pem
v If Export Self-Signed Certificate is enabled, creates a copy of the self-signed
certificate in the temporary: directory; for example, temporary:///sample-
sscert.pem
v If Generate Key and Certificate Objects is enabled, creates a Key object and a
Certificate object
If the action creates a self-signed certificate, you can use this certificate-key pair for
the following purposes:
v Establish Identification Credentials
v Encrypt or decrypt XML documents
Note: If the appliance has HSM hardware, you can export Key objects. For details,
refer to IBM WebSphere DataPower SOA Appliances: Hardware Security Module
Guide.
Note: Available when the appliance has HSM hardware to specify the
encryption mechanism to export private keys.
4. Click Export Crypto Object to create the export package with the selected
object.
Objects that are exported from one DataPower appliance can be imported to
another appliance. Importing objects, rather than uploading files, eliminates the
need to create objects from files.
Note: If the appliance has HSM hardware, you can import Key objects. For details,
refer to IBM WebSphere DataPower SOA Appliances: Hardware Security Module
Guide.
1. Select Administration Miscellaneous Crypto Tools to display the Crypto
Tools screen.
2. Click the Import Crypto Object tab.
3. Provide the following information:
Object Type
Select the type of object to import. Any appliance can import
certificates. Devices with HSM hardware can import private keys.
Object Name
Specify the name of the object to create on import. This name must be a
unique in the object namespace.
Input File Name
Use the controls to select the export package. If the file does not reside
on the DataPower appliance, click Upload or Fetch to transfer the file.
Note: Keys can be retrieved from a Java Key Store residing on the local
workstation. Click Java Key Store on the Upload field. Refer to
IBM WebSphere DataPower SOA Appliances: Appliance Overview for
more information.
Password
Depending on business security policies, provide one of the following:
v If local security policies provide for password-protected keys, specify
the password (or a password alias).
v If local polices do not support password protection, leave blank.
v If key files are protected by a plaintext password, specify the password.
Note: SSL servers are not required by the protocol to send a Client CA
List. Generally, SSL servers do not send a Client CA list.
To create and configure a Shared Secret Key, use the following procedure:
1. Select Objects Crypto Crypto Shared Secret Key to display the Crypto
Shared Secret Key catalog.
2. Click Add to display the Crypto Shared Secret Key Configuration screen.
3. Provide the following inputs:
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
To save the Validation Credentials to the startup configuration, click Save Config.
A Multi-Protocol Gateway service can support more than one client, or front side,
protocol. Similarly, the service can support more than one backend, or server,
protocol.
Figure 3 provides an illustration of the static backend architecture that the service
supports.
HTTP
HTTPS
HTTP or
MQ HTTPS or
Multi-Protocol Gateway MQ
Back End Server
Multi-Protocol Gateway services can accept client requests through any of the
protocol handlers that are shown (HTTP, HTTPS, or MQ). A static URL determines
the destination for all traffic. This server-side traffic can employ one of the
protocols that are shown (HTTP, HTTPS, or MQ).
HTTP
HTTP
HTTPS
HTTPS
MQ
MQ
Stateful
Multi-Protocol Gateway
Stateful
The messages can be processed and routed using any of the standard processing
actions that are available to a service.
Note: If a User Agent is in use by the selected XML Manager, that User Agent
might contain settings that override these SSL settings. Edit the XML
Manager to modify the User Agent that is in use. Refer to User Agent
on page 342 for more information.
12. Use the Response Type radio buttons to characterize the server-generated
response.
Non-XML
Does not directly characterize the server response, but indicates that
the service does not filter or transform the response. In other words,
the actions in the associated processing policy will not operate directly
on the message content. However, the processing policy will perform
such actions as authentication or routing. For SAML artifact
authentication or authorization, select this option.
Pass-Thru
Does not directly characterize the server response, but indicates that
the service does not filter or transform the response. The response is
passed to the target client.
SOAP (Default) Identifies the server response as a SOAP message.
XML Identifies the server response as unencapsulated XML.
13. Use the Back Attachment processing format radio buttons to specify the
attachment format.
Notes:
v When enabled, any Matching Rule in a response processing rule
must match the rewritten URL.
Configuring monitors
You can optionally assign traffic monitors to the gateway. Monitors provide the
ability to track and respond to load conditions.
Click Apply to save the object to the running configuration and return to the object
catalog.
Optionally, click Save Config to save the object to the startup configuration.
Click Apply to save the object to the running configuration and return to the object
catalog.
Optionally, click Save Config to save the object to the startup configuration.
Click Apply to save the object to the running configuration and return to the object
catalog.
Optionally, click Save Config to save the object to the startup configuration.
Message tampering
Message tampering protection employs schema validation. Validation is performed
against submitted messages. Validation prevents messages that have been altered
and that no longer pass validation from reaching the backend service endpoints.
To protect against message tampering, create a validate action. You can add this
action to an existing or new processing policy. Refer to Validate (validate) action
on page 155 for more information.
SQL injections
To protect against SQL injections, create a filter action. You can add this filter
action to an existing or new processing policy. When creating the filter action,
define the following properties:
Processing Control File
Use store:///SQL-Injection-Filter.xsl
Stylesheet Parameter Name
Use {http://www.datapower.com/param/config}SQLPatternFile
XML virus
Viruses are typically contained in message attachments. XML Virus Protection sets
parameters that handle the following types of attacks in attachments:
v XML virus attacks
v XML encapsulation attacks
v Payload hijack attacks
v Binary injection attacks
For the XML Firewall services only, these properties are on both the General tab
and the XML Threat Protection tab. A change on either tab affects the property on
both tabs.
Dictionary attack
Dictionary attacks are detected by repeatedly denying requests for access, which is
typically a visible symptom of someone probing for data dictionary definitions to
exploit. The DataPower service can monitor access requests through an aaa action
that is activated on each request for service. When the count of rejected access
requests reaches a certain level, the service can send notification and even deny
service for a period of time.
To protect against dictionary attacks, create a Count Monitor object and create an
aaa action. The Count Monitor must have its Measure property set to xpath. Refer
to Message Count Monitor on page 230 for more information.
The aaa action can be added to an existing or new processing policy. When
creating this action, define the following property:
Counter Monitor
Select the defined Count Monitor object.
Refer to the url-open extension element in the IBM WebSphere DataPower SOA
Appliances: Extension Elements and Functions Catalog for details about changing the
URL for a secure connection or for adding other query parameters.
Building an MQ URL
When constructing a service that uses MQ for the backend URL, the URL of the
response from the backend often contains the query string. The matching criteria in
the response rule for the processing policy must allow for this query string. For
example, if the request to the service is http://gwaddr/SomeURL and the response
from the backend is http://gwaddr/
SomeURL?RequestQueue=1;ResponseQueue=2;PMO=2048, matching criteria of */SomeURL
will fail for the response.
To use the MQ URL builder for assistance in the construction of a URL, use the
following procedure:
1. Click MQ Helper.
2. Select an existing instance of the MQ Queue Manager object from the Queue
Manager list.
3. Specify a string, such as /SomeBank/Services/checking to include in the URL in
the URI field.
4. Specify the name of a queue that the Queue Manager manages in the Request
Queue field. The service puts requests on this queue.
5. Specify the name of a queue that the Queue Manager manages in the Reply
Queue field. The service polls this queue for responses.
6. Use the Transactionality toggle to indicate whether communications must use
transactional unit-of-work. When enabled (on), the service enforces
transactional unit-of-work in the communication by inserting
Transactional=true in the URL and does not consider a message to be
successfully posted until it receives a response.
7. Use the User Identifier to indicate whether to set the UserIdentity value in the
MQ header.
v If enabled (on), the builder inserts PMO=2052 in the URL. This value assumes
the following MQPMO options:
MQPMO_NO_SYNCPOINT (decimal 4, hexadecimal 0x00000004)
MQPMO_SET_ALL_CONTEXT (decimal 2048, hexadecimal 0x00000800)
v If disabled (off), the builder does not insert a value. The service assumes
MQPMO_NO_SYNCPOINT only.
8. Use the ReplyToQ to indicate whether to set the ReplyToQ value in the MQMD
header for a request message.
v If enabled (on, inserts SetReplyTo=true in the URL. The processing policy
overwrites the ReplyToQ value with the value of the Reply Queue option.
Chapter 3. Configuring Multi-Protocol Gateway services 53
v If disabled (off), the processing policy does not change the value of ReplyToQ
in the MQMD header.
9. Click Build.
The utility creates a URL in the following format, which becomes the value for the
Backend URL field:
dpmq://server/URI?RequestQueue=queue;ReplyQueue=queue;
Transactional=true;PMO=2052;SetReplyTo=true
Refer to the url-open extension element in the IBM WebSphere DataPower SOA
Appliances: Extension Elements and Functions Catalog for details about changing the
URL for a secure connection, for using another MQPMO value, or for adding other
query parameters.
Refer to the url-open extension element in the IBM WebSphere DataPower SOA
Appliances: Extension Elements and Functions Catalog for details about changing the
URL for a secure connection or for adding other query parameters.
Refer to the url-open extension element in the IBM WebSphere DataPower SOA
Appliances: Extension Elements and Functions Catalog for details about changing the
URL for a secure connection or for adding other query parameters.
These handlers can be used with a DataPower service. To access these handlers,
use the Objects Protocol Handlers menu.
To configure an FTP Poller Front Side Handler, use the following procedure:
1. Select Objects Protocol Handlers FTP Poller Front Side Handler to
display the catalog.
2. Click Add to display the configuration screen.
Note: File renaming cannot be used with an FTP server that supports only 8.3
file names.
Defining as transparent
To configure an instance of the FTP Server Front Side Handler object to access a
transparent file system, use the following procedure:
1. Select Objects Protocol Handlers FTP Server Front Side Handler to
display the catalog.
2. Click Add to display the configuration screen.
3. Specify the name of the object in the Name field.
4. Retain the default setting for the Admin State toggle. To place the object in an
inactive administrative state, click disabled.
5. Specify a descriptive object-specific summary in the Comment field.
6. Define the connection from the client to the appliance.
a. Specify the IP address on which the FTP server listens in the Local IP
Address field. Defaults to 0.0.0.0, which indicates that the service is active
on all IP addresses.
To use a local Host Alias instead of a static IP address, click Host Alias. A
Host Alias allows you to specify a locally configured alias that resolves to
a static IP address. Aliasing can help when moving configurations across
systems.
b. Specify the port that the FTP Server service monitors in the Port field. This
port is the port on which FTP control connections can be established. This
port does not control the TCP port that is used for the data connections. If
the FTP client uses the PASV command, data connections will use an
arbitrary, unused TCP port. The default is 21.
7. Define the characteristics of the file system.
a. Select Transparent from the Filesystem Type list.
b. Retain the default value in the Default Directory field.
c. Specify the maximum file name length on the FTP server in the Maximum
Filename Length field. Use an integer in the range of 1 through 4000. The
default is 256.
8. Select an instance of the Access Control List object to apply from the Access
Control List list.
9. Define secure connection.
a. Use the Require TLS toggle to select whether FTP control connections
require explicit TLS encryption. If required, the FTP client must use the
FTP AUTH TLS command before any other command. This setting does
not control encryption of data transfers. The default is off.
b. Select an instance of the SSL Proxy Profile object to assign from the SSL
Proxy list.
10. Define user authentication.
a. Select an instance of the AAA Policy object from the Password AAA
Policy list. This instance performs authentication of user names and
To configure an instance of the HTTP Front Side Handler object, use the following
procedure:
1. Select Objects Protocol Handlers HTTP Front Side Handler.
2. Click Add to display the configuration screen.
3. Specify the name of the object in the Name field.
4. Retain the default setting for the Admin State toggle. To place the object in an
inactive administrative state, click disabled.
5. Specify a descriptive object-specific summary in the Comment field.
6. Define the connection from the client to the appliance.
a. Specify the host alias or IP address on which the service listens in the
Local IP Address field. The default is 0.0.0.0, which indicates that the
service is active on all IP addresses.
To use a local Host Alias instead of a static IP address, click Host Alias. A
Host Alias allows you to specify a locally configured alias that resolves to
a static IP address. Aliasing can help when moving configurations across
systems.
b. Specify the listening port in the Port Number field. The default is 443.
7. Select the HTTP version to use on the client connection from the HTTP
Version to Client list. The default is HTTP 1.1
8. Use the Allowed Methods and Versions check boxes to select the allowed
methods and versions for incoming HTTP requests.
9. Use the Persistent Connections toggle to enable or disable the negotiation of
persistent connections.
10. Use the Compression toggle to enable or disable the negotiation of GZIP
compression
11. Define HTTP header and URL limits.
a. Specify the length of the longest incoming URL to accept in bytes in the
Maximum Allowed URL Length field. The length includes any query
string or fragment identifier. Use an integer in the range of 1 through
128000. The default is 16384.
b. Specify the maximum aggregate byte size of incoming HTTP headers in
the Maximum Allowed Total Header Length field. Use an integer in the
range of 5 through 128000. The default is 128000.
To configure an NFS Poller Front Side Handler, use the following procedure:
1. Select Objects Protocol Handlers NFS Poller Front Side Handler to
display the catalog.
2. Click Add to display the configuration screen.
3. Specify the name of the object in the Name field.
4. Retain the default setting for the Admin State toggle. To place the object in an
inactive administrative state, click disabled.
5. Specify a descriptive object-specific summary in the Comment field.
6. Specify the directory to poll in the Target Directory field. The path must end
in a slash. The slash denotes a directory. For example, dpnfs://static-mount-
name/path/. Do not configure one NFS poller to point at a host name that is a
virtual name of a load balancer group. This configuration is not the correct
way to poll multiple hosts. To poll multiple hosts, use the same DataPower
service and configure one NFS poller object for each real host.
7. Specify the number of milliseconds to wait after the completion of one poll
before starting the next interval in the Delay Between Polls field. Use an
integer in the range of 25 through 100000. The default is 60000.
8. Specify the PCRE to use to match the contents of the directory being polled in
the Input File Match Pattern field. If there is file-renaming or there is a
response, this PCRE must create PCRE back references using () pairs.
For example, if the input files are NNNNNN.input, then the match pattern would
be ([0-9] {6})\.input.
9. Specify the PCRE to use to rename a file that is being processed in the
Processing File Renaming Pattern field. This functionality allows multiple
poller objects to poll the same directory with the same match pattern. There is
no lack of atomicity if the rename operation on the server is atomic. The
poller that succeeds in renaming the input file will proceed to process the file.
Any other poller that tries to rename the file at the same time will fail to
rename the file and will proceed to try the next file that matches the specified
match pattern.
To ensure uniqueness, the resulting file name will be in the following format:
Note: File renaming cannot be used with an NFS server that supports only 8.3
file names.
For example if the input files are NNNNNN.input and you want to rename them
to NNNNNN.processing, then the match pattern would be ([0-9] {6})\.input$
and the processing pattern would be $1.processing. The resultant file name of
the server would be:
NNNNNN.processing.serial.domain.poller.timestamp
The Multi-Protocol Gateway service in this configuration is the SFTP server and
can receive transfers from the SFTP client and can support the transparent
operational mode. The communication between the Multi-Protocol Gateway service
and the remote FTP server uses the FTP protocol. The Multi-Protocol Gateway
service presents the directories and files as shown on the remote FTP server and
handles the protocol-specific commands.
Note: The only valid configuration with an SFTP Server handler is to manage files
on a remote FTP server.
Configuration considerations
Consider the following settings when configuring a Multi-Protocol Gateway
service:
v When transferring large files, use the streaming setting. To support bidirectional
streaming, set both the Stream Output to Back and Stream Output to Front
toggles to Stream Messages. For complete information, refer to Optimizing
through Streaming.
v For large files, set the back and front timeout values appropriately with the Back
Side Timeout and Front Side Timeout fields, respectively.
Authentication of the SFTP client with the SFTP Server Front Side Handler can be
either password or public key or both password and public key. If the
configuration includes both authentication methods, public key authentication is
attempted first.
v Host authentication public/private key needs to be and are stored on the
appliance.
v If a configuration does not specify the public/private key for host
authentication, the configuration uses the keys that are shipped with the
appliance.
Because at connection time the client does not specify which resource to access,
this AAA Policy can perform authentication only, not authorization.
The username and password variables are also available as processing metadata for
custom authentication in an AAA Info file.
Where:
address The IP address of the DataPower Ethernet interface
port The SFTP Server Front Side Handler listening port
path The fully qualified name of the file to transfer
When the client requests a directory listing, the URL contains a query parameter to
flag the request type. For example, a DIR request might generate the following
URL:
sftp://host.example.com:22/;type=d
The ;type=d query parameter is appended to the URL to designate the DIR request.
v If the Multi-Protocol Gateway service uses a static backend, the service adds the
?Listing=LIST query parameter before forwarding the request to the remote FTP
server.
v If the Multi-Protocol Gateway service uses either a dynamic backend or the
Propagate URI toggle is set to off, use a custom style sheet to modify the URL
before passing the request to the remote FTP server. For example, the style sheet
might test whether the value of the var://service/URI variable contains
;type=d. If it contains this query parameter, the style sheet replaces ;type=d with
?Listing=list and sets the value of the var://service/routing-url variable to
the resultant URL.
Note: Although optional, without an AAA Policy, all users are authenticated.
11. Define the characteristics of the file system.
a. Retain the default setting of Transparent from the Filesystem Type list.
b. Specify the initial directory on the SFTP server (after users connect and
authenticate) in the Default Directory field. The default is the root
directory (/).
12. Specify the number of seconds that the SSH connection can be idle in the Idle
Timeout field. After the specified duration elapses, the SSH server closes the
connection. The default is 0, which disables the timeout.
13. Click Apply to save the object to the running configuration.
14. Optionally, click Save Config to save the object to the startup configuration.
Note: A DataPower service that uses a Stateful Raw XML Handler must employ a
dynamic backend.
1. Select Objects Services Stateful Raw XML Handler to display the Stateful
Raw XML Handler catalog.
2. Click Add to display the Stateful Raw XML Handler configuration screen.
This handler requires the TIBCO-EMS license and is available on the following
appliances only:
v XML Integration Appliance XI50
v B2B Appliance XB60
v Low Latency Appliance XM70
While the protocol handler does not provide native support for TIBCO
Rendezvous and TIBCO SmartSockets (TIBCO legacy messaging systems), TIBCO
EMS has built-in transports for these messaging implementations, which enables
message transfers.
For example, consider a topic hierarchy split into the following topic spaces:
v library topics for document management
v sales topics for marketing and sales tracking
v engineering topics for engineering and technology
The topic volumes can appear in all three topic spaces, and have a very different
meaning in each.
For example, consider a topic hierarchy split into the following topic spaces:
v library topics for document management
v sales topics for marketing and sales tracking
v engineering topics for engineering and technology
The topic volumes can appear in all three topic spaces, and have a very different
meaning in each.
Processing policies define many, if not all, of the actions that are taken against
documents that pass through the service.
v A processing policy consists of one or more rules.
v A rule consists of a matching rule and a processing rule.
v A matching rule defines the criteria to determine whether incoming traffic is
processed by its processing rule.
v A processing rule identifies the actions to perform against the incoming traffic.
When no rule in the processing policy meets the criteria in any of its matching
rules, a style sheet can be defined to process the incoming traffic. Defining a
default style sheet is not part of the processing policy. The default style sheet is
part of the service configuration.
Matching rules
A matching rule determines whether candidate traffic is subject to an associated
processing rule. Matching rules come in the following flavors:
v An HTTP matching rule tests HTTP header content. Simple matching expressions
enable the identification of specific HTTP header fields and header field
contents. These expressions are similar to those that define a Compile Options
Policy or a URL Refresh Policy.
v A URL matching rule uses simple matching patterns to test incoming URLs.
v An XPath matching rule uses an XPath expression applied to the incoming
message to determine a match. If the expression evaluates to true, a match is
made. The XPath Tool is available to help construct this expression.
While HTTP, URL, and XPath matching rules determine if incoming traffic is
subject to a processing rule, an error code rule provides the ability to provide
custom, user-defined error processing.
Processing rules
A processing rule specifies the processing actions to apply to incoming documents.
A processing rule can be as simple as a single action to transform of an incoming
XML document using a style sheet. On the other hand, a processing rule can be as
complex as an action that performs the following actions:
v Use several schema validations and style sheet filters to ensure that the
client-generated payload is not malicious.
v Transform the document to remove elements that are not needed by the backend
server.
Processing actions
Processing rules can contain the following actions. For details about defining the
listed actions within a processing rule, refer to Defining processing actions on
page 94.
AAA An aaa (Authentication, Authorization, Audit) action invokes an Access
control policy. An access control policy identifies a set of resources and
procedures that determine whether a requesting client is granted access to
a specific service, file, or document. Access control policies are filters in
that they accept or deny requests for specific clients. Refer to AAA (aaa)
action on page 94 for details.
Antivirus
An antivirus action invokes a named, reusable rule. This action sends
messages to a virus scanning server at a defined host/port or URI. This
action calls a style sheet that corresponds to the ICAP Host Type selected
to perform the scanning, sets the type of virus handling and error handling
to perform on the message after scanning, and sets the level of Virus
Scanner logs. Refer to Antivirus (antivirus) action on page 94 for details.
Call processing
A call action invokes a named, reusable rule. After the action completes,
processing continues to the next action, if any. Refer to Call processing
rule (call) action on page 96 for details.
Checkpoint event
A checkpoint action specifies an event to trigger the collection of
information for WS-Management agents and Service Level Monitors. This
action is available for Web Service Proxy services only. Refer to
Checkpoint event (checkpoint) action on page 97 for details.
Conditional
A conditional action implements programmatic if-then-else processing. If an
XPath expression returns true when applied to the input context of the
action, a designated processing action runs. Any number of if-then clauses
can be configured. A final else clause that uses an empty XPath expression
() runs a designated action when no other XPath expression matches the
input. You can designate a call action. The call action provides the ability
to run a complete processing rule that contains one or more actions. You
can configure a conditional action to provide the same service as a
complete processing policy, which gives you the ability to conditionally
invoke different processing policies on input.
Convert query parameters to XML
A convert-http action converts non-XML CGI-encoded input (an HTTP
POST, an HTML form, or URI parameters) into an equivalent XML
message. This action in the active rule alerts the service to treat input as
non-XML CGI-encoded input. For a service to use this action, the request
Note: A processing policy can contain on-error actions and an error rule.
When a processing policy contains both on-error actions and an
error rule, the on-error action overrides the error rule. An error rule,
if the processing policy contains one, is invoked when an error
occurs during processing. In this case, the error rule acts as an error
handler.
Results
A results action sends a message to a URL. A results action can optionally
specify a context in which to store the response. Refer to Results (results)
action on page 140 for details.
Results asynchronous
A results-async action asynchronously sends a message to a URL. This
action does not support sending a message to an output context. With this
action, processing continues without waiting for a response. Refer to
Results Asynchronous (results-async) action on page 141 for details.
Rewrite header
A rewrite action rewrites HTTP headers or URLs using a URL rewrite
policy. Refer to Rewrite header (rewrite) action on page 142 for details.
Route with style sheet or XPath
A route-action action performs style sheet-based routing or XPath
expression-based routing. Refer to Route with style sheet (route-action)
action on page 143 and Route with XPath expression (route-action)
action on page 143, respectively, for details.
Route with variables
A route-set action performs dynamic, variable-based routing. Refer to
Route with variables (route-set) action on page 144 for details.
Set variable
A setvar action creates a variable for use in subsequent processing in a
specified context. Variables are expressed in the var://URL format.
Variables cannot be set when the context is the PIPE keyword. This
keyword is used for streaming. Refer to Set variable (setvar) action on
page 145 for details.
Sign A sign action attaches a digital signature to the document. This action
requires that certain parameters be supplied during the configuration of
the service. Refer to Sign (sign) action on page 145 for details.
Contexts
A context can be described as a temporary variable that contains data used by a
processing action. The input context, the context specified for the Input field,
contains the data to be processed. The output context, the context specified for the
Output field, receives the data produced by the action.
The data for the contexts can be XML or non-XML. XML data is expressed in a tree
format. Non-XML data is binary. When the data is XML, the XML tree can include
lists of variables and attached documents.
The context can also be a variable. Refer to Set variable (setvar) action on page
145 for more information.
Context keywords
Processing rules recognize the following keywords and apply special context to
them:
INPUT The input to the processing action.
v For a client-to-server rule, the INPUT context is the data that is associated
with the request; for example, a client-generated POST body.
v For a server-to-client rule, the INPUT context is the server-generated data
that is sent in response to a client request.
OUTPUT The product of the processing action.
v For a client-to-server rule, the OUTPUT context is the data that is sent to
the server.
v For a server-to-client rule, the OUTPUT context is the data that is sent to
the client.
NULL Can be used as an input or output.
v As the input for an action, the NULL context indicates that the action
processes an empty XML document.
v As the output for an action, the NULL context indicates that the action
discards any data that it receives from processing.
PIPE The output of an action becomes the input to the next action. As such, any
action that uses the PIPE context as output must be followed by an action
that uses the PIPE context as input. The PIPE context is useful in certain
instances to reduce processing latency. The PIPE context is the correct
choice for streaming operations.
Error rules are the exception to this behavior. Regardless of where the error rule is
in the processing policy, an error rule runs last and only when there are errors
during the processing of any the other rules.
For example, Figure 5 illustrates a rule that employs multiple actions. The
transform occurs before the validation. Changing the sequence of actions could
have significant impact on the results of this rule.
To add additional processing rules to the processing policy, repeat step 4 on page
93 through step 9.
All candidate documents are processed by the rule that conforms to the defined
direction and matching rule.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
After you click Apply or Apply Policy, the Call Processing icon expands to the
icons for the actions in the reusable rule.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
The conditional action requires no output context. To use the output of the
conditionally invoked action, a processing action that follows the conditional
action must use, as its input context, the output context of the conditionally
invoked action. For example, a conditional action can run one of a range of
Transform actions based on the match condition that applies to the request
message. Each of the Transform actions uses custvar1 as the output context. The
first action in the processing rule after the conditional then uses custvar1 as the
input context.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
100 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
12. Use the Binary Data toggle to indicate whether the input data is true binary
and should be canonicalized. This finer characterization enables or disables
the canonicalization of line endings in the input data.
on Characterizes input data as true binary, that is consisting of
meaningful 8-bit data units, and is not canonicalized before signing.
Canonicalization can corrupt the data.
off Indicates that the input data is not true binary and can be
canonicalized. Use this setting if the input data is a raw-text string
that consists of meaningful 7-bit data units.
When creating a detached S/MIME signature (where Output Encoding
Format is S/MIME and Include Content Data is off), setting Binary Data to
off can produce an unverifiable signature since the data is not canonicalized
as expected for an S/MIME message.
True binary data should be Base64 encoded before signing with a detached
S/MIME signature.
Binary Data can be set to off for Base64 encoded data.
13. Specify or select the context for the data produced in the Output field.
By default, this action uses the pkcs7-sign.xsl style sheet to sign documents. To use
another style sheet, use the Advanced panel to identify the style sheet and any
parameter that is required by that style sheet.
14. If the action is complete, click Done. The configuration path shows the Crypto
Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Advanced settings: Use the Advanced screen to identify the style sheet and
define less commonly used settings.
1. Click the Advanced tab to display the Advanced screen.
2. Confirm the Input setting.
3. Confirm that the Action Type is cryptobin.
4. Confirm that the PKCS#7 Sign radio button is selected.
5. Confirm the Asynchronous setting.
6. Use the Processing Control File field or select the style sheet to perform
PKCS #7 signing.
v If the style sheet is not stored on the appliance, specify its location or a
variable that expands to a URL. If a variable, use the var://context/name
form.
v If the style sheet is in the store: or local: directory, select the style sheet.
You can click Upload or Fetch to obtain the file.
7. To define parameters for the style sheet, click Add Parameter (at the bottom
of the window).
a. In the Stylesheet Parameter Name field, specify the name of the
parameter.
b. In the Stylesheet Parameter Value field, specify the value for the
parameter.
c. Click Submit to return to the Advanced window, which now lists the
newly defined parameter.
102 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
By default, this action uses the pkcs7-verify.xsl style sheet to verify signatures. To
use another style sheet, use the Advanced panel to identify the style sheet and any
parameter that is required by that style sheet.
12. If the action is complete, click Done. The configuration path shows the Crypto
Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Advanced settings: Use the Advanced screen to identify the style sheet and
define less commonly used settings.
1. Click the Advanced tab to display the Advanced screen.
2. Confirm the Input setting.
3. Confirm that the Action Type is cryptobin.
4. Confirm that the PKCS#7 Verify radio button is selected.
5. Confirm the Asynchronous setting.
104 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Detached Data Encoding Format
Specifies the encoding format of the detached data that was signed.
Base64 encoded binary
Specifies that the data is Base64 encoded
Binary
Specifies binary data
Name of Context Variable Holding Output Metadata
Specifies the name of the context variable to which the output
of this operation (including error strings, if any) is written.
The string var://context/ is prepended to the specified name.
12. Click Done to complete the action. The configuration path shows the Crypto
Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
By default, this action uses the pkcs7-encrypt.xsl style sheet to encrypt documents.
To use another style sheet, use the Advanced panel to identify the style sheet and
any parameter that is required by that style sheet.
13. If the action is complete, click Done to complete the action. The configuration
path shows the Crypto Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Advanced settings: Use the Advanced screen to identify the style sheet and
define less commonly used settings.
1. Click the Advanced tab to display the Advanced screen.
2. Confirm the Input setting.
3. Confirm that the Action Type is cryptobin.
4. Confirm that the PKCS#7 Encrypt radio button is selected.
5. Confirm the Asynchronous setting.
6. Use the Processing Control File field or specify the style sheet used by this
cryptobin encrypt action to perform document encryption.
v If the style sheet is not stored on the appliance, specify its location or a
variable that expands to a URL. If a variable, use the var://context/name
form.
v If the style sheet is in the store: or local: directory, select the style sheet.
You can click Upload or Fetch to obtain the file.
7. To define parameters for the style sheet, click Add Parameter (at the bottom
of the window).
a. In the Stylesheet Parameter Name field, specify the name of the
parameter.
b. In the Stylesheet Parameter Value field, specify the value for the
parameter.
c. Click Submit to return to the Advanced window, which now lists the
newly defined parameter.
Repeat this step to define each additional parameter.
8. Confirm the Encryption Algorithm setting.
9. Confirm the Input Encoding Format setting.
10. Confirm the Output Encoding Format setting.
11. Confirm the Binary Data setting.
12. Confirm the Recipients setting.
13. If necessary, define the following settings.
Include text/plain Header
Adds a Content-Type:text/plain MIME header to the input data
106 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
prior to the encryption process. Used only when Output Encoding
Format is S/MIME and Binary Data is off. The added header becomes
part of the encrypted data.
By default, the header is not added. Some S/MIME clients, however,
require such a header as part of the data.
Name of Context Variable Holding Output Metadata
Specifies the name of the context variable to which the output of this
operation (including error strings, if any) is written. The string
var://context/ is prepended to the specified name.
14. Click Done to complete the action. The configuration path shows the Crypto
Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
By default, this action uses the pkcs7-decrypt.xsl style sheet to decrypt documents.
To use another style sheet, use the Advanced panel to identify the style sheet and
any parameter that is required by that style sheet.
11. If the action is complete, click Done. The configuration path shows the Crypto
Binary icon.
Advanced settings: Use the Advanced screen to identify the style sheet and
define less commonly used settings.
1. Click the Advanced tab to display the Advanced screen.
2. Confirm the Input setting.
3. Confirm that the Action Type is cryptobin.
4. Confirm that the PKCS#7 Decrypt radio button is selected.
5. Confirm the Asynchronous setting.
6. Use the Processing Control File field or specify the style sheet used by this
cryptobin decrypt action to perform document decryption.
v If the style sheet is not stored on the appliance, specify its location or a
variable that expands to a URL. If a variable, use the var://context/name
form.
v If the style sheet is in the store: or local: directory, select the style sheet.
You can click Upload or Fetch to obtain the file.
7. To define parameters for the style sheet, click Add Parameter (at the bottom
of the window).
a. In the Stylesheet Parameter Name field, specify the name of the
parameter.
b. In the Stylesheet Parameter Value field, specify the value for the
parameter.
c. Click Submit to return to the Advanced window, which now lists the
newly defined parameter.
Repeat this step to define each additional parameter.
8. Confirm the Input Encoding Format setting.
9. Confirm the Output Encoding Format setting.
10. Confirm the Recipients setting.
11. If necessary, define the following settings.
Remove text/plain Header
Removes a Content-Type:text/plain MIME header from the plaintext,
decrypted data. Used only when Input Encoding Format is S/MIME.
By default, the header (if present) is not removed.
Name of Context Variable Holding Output Metadata
Specifies the name of the context variable to which the output of this
operation (including error strings, if any) is written. The string
var://context/ is prepended to the specified name.
12. Click Done to complete the action. The configuration path shows the Crypto
Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
108 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
To add a decrypt action, use the following procedure:
1. Drag the Decrypt icon to the configuration path (the horizontal line).
2. Double-click the Decrypt icon to display the Decrypt action window.
3. Specify or select the context for the data to be processed in the Input field.
4. Use the Message Type radio buttons to characterize the decryption.
Entire Message/Document
(Default) Decrypts the entire document
Selected Elements (Field-level)
Decrypts specific fields in the document
5. If the Message Type is Selected Elements (Field-level), from the Document
Crypto Map list, select the Document Crypto Map to identify the message
fields that were encrypted. Refer to Document Crypto Map on page 282 for
more information.
6. Use the Asynchronous toggle to determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action to
complete by adding this action to a subsequent event-sink action in
the same processing rule. Refer to Event-sink (event-sink) action on
page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. If the Message Type is Entire Message/Document, optionally select a Key to
use for decrypting the contents from the Decrypt Key list.
Note: If you do not specify a decrypt key, you must create a Crypto
Identification Credentials set that identifies the cryptographic key to use
to decrypt the document. This credential set associates the certificate that
was used to encrypt the document with the key that can decrypt the
document. Without this credential set, the action cannot decrypt the
document.
8. Specify or select the context for the data produced in the Output field.
By default, this action uses the decrypt.xsl style sheet to decrypt documents. To use
another style sheet, use the Advanced tab to identify the style sheet and any
parameter that is required by that style sheet.
9. If the action is complete, click Done.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Advanced settings
Use the Advanced screen to identify the style sheet and define less commonly used
settings.
1. Click the Advanced tab to display the Advanced screen.
2. Use the Processing Control File field or select the style sheet used by this
decrypt action.
v If the style sheet is not stored on the appliance, specify its location or a
variable that expands to a URL. If a variable, use the var://context/name
form.
Chapter 5. Defining processing policies 109
v If the style sheet is in the store: or local: directory, select the style sheet.
You can click Upload or Fetch to obtain the file.
3. Use the Optimize Element Description toggle to enable or disable optimization
of the decrypted data.
According to the encryption specifications, decrypting element-encrypted data
(instead of content-encrypted) should result in valid XML. The decrypted data
should contain all of the required namespace prefix bindings that are needed to
parse the resulting XML data.
on Enables optimization. If you know that the source of the encrypted data
follows this specification, use this setting. Enabling optimization might
improve performance. Decryption does not require extra
canonicalization.
off (Default) Disables optimization. For compatibility, optimization might
need to be disabled. Not all XML encryption appliances follow the
rules for preparing data before encryption.
4. To define parameters for the style sheet, click Add Parameter (at the bottom of
the window).
a. In the Stylesheet Parameter Name field, specify the name of the parameter.
b. In the Stylesheet Parameter Value field, specify the value for the parameter.
c. Click Submit to return to the Advanced window, which now lists the newly
defined parameter.
Repeat this step to define each additional parameter.
5. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
The encrypt action might require that certain parameters be supplied during the
configuration of the service.
110 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
5. Select SOAP Message from the Message Type list.
6. Use the Asynchronous toggle to determine whether the action is
asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. Select the encryption scope from the Message and Attachment Handling list.
Attachments Only
Encrypt only the attachments to the message.
Message Only
Encrypt only the message, which is the root part.
Message and Attachments
Encrypt the message and attachments.
8. Determine whether to use the certificate in the signature that is provided by
the remote client to encrypt the response.
v To use this certificate, change the setting of the Use Dynamically
Configured Recipient Certificate property to on.
v To not use this certificate, retain the setting for the Use Dynamically
Configured Recipient Certificate property.
When enabled, the encrypt action performs encryption with the certification
from the last verify action. The certificate in the signature is saved in the
var://context/transaction/encrypting-cert variable.
9. Determine whether to use the same ephemeral key for all encryptions in this
action.
v To use the same key, change the setting of the One Ephemeral Key
property to on.
v To not use the same key, retain the setting of the One Ephemeral Key
property.
When enabled, there is only one ephemeral key encryption. Its corresponding
EncryptedKey adds a DataReference URI for each EncryptedData. Using one
ephemeral key provides better performance.
10. Optionally select a Crypto Certificate from the Recipient Certificate list.
The selected certificate overrides any setting that is established for the service.
For example, this certificate can override the XML Firewall Credentials setting
by referencing a certificate that is not in those credentials.
Additional certificate and encryption settings are available on the Advanced tab.
11. Optionally click the Advanced tab configure advanced properties.
a. Confirm the Input property.
b. Confirm the Action Type property.
c. Confirm the Envelope Method property.
d. Confirm the Message Type property.
Note: There should not be more than one security header that omit
the actor/role identifier.
USE_MESSAGE_BASE_URI
Indicates that the actor/role identifier is the base URI of the
message. If the SOAP message is transported using HTTP, the base
URI is the request-URI of the HTTP request.
Any other string
Indicates the actor or role of the security header.
n. Select the version of WS-Security to use from the WS-Security Version list.
v 1.0
v 1.1
v draft-12
v draft-13
112 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
The default is 1.0.
o. Determine whether to security header contains the mustUnderstand SOAP
attribute. When enabled, the security header includes the
SOAP:mustUnderstand="1" attribute.
v To include, retain the setting of the Include SOAP mustUnderstand
property.
v To not include, change the setting of the Include SOAP
mustUnderstand property to no.
p. Select how to generate the ID type for the new element node from the
WS-Sec ID Reference Type list.
v xml:id
v wsu:Id
The default is wsu:Id (for backward compatibility).
q. Select the method to reference the security token from the Token
Reference Mechanism list:
Direct Reference
A BinarySecurityToken is placed in the message and a Reference
element with a URI fragment that points to the BinarySecurityToken
is used to refer to it.
When selected, the WebGUI refreshes with additional fields.
1) For WS-Security version 1.0 or 1.1 only, select how to control the
value of BinarySecurityToken/@ValueType and of
SecurityTokenReference/Reference/@ValueType when referring to
a BinarySecurityToken that is an X.509 token from the X.509
Token Profile 1.0: BinarySecurityToken ValueType list.
Because of the differences between the final WS-Security 1.0
standards and the multiple draft versions of its errata document,
different values of the ValueType attribute are used by different
WS-Security implementations.
#X509
Compatibility with certain versions of .NET Web services
enhancements (WSE) might require this setting. Generates
http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-x509-token-profile-1.0#X509
X509v3
Compatibility with certain versions of WebSphere might
require this setting. Generates http://docs.oasis-open.org/
wss/2004/01/ oasis-200401-wss-x509-token-profile-
1.0#X509v3
EncryptedKeySHA1
A reference is made using a KeyIdentifier element with an
EncryptedKeySHA1 ValueType and content. This value type was
introduced as a WS-Security 1.1 feature and should be used only
with this version of WS-Security or newer.
When selected, the WebGUI refreshes with additional fields.
Select whether a Key Derivation is needed and where to find the key
from the WS-SecureConversation DKT Derivation Base list.
Derive Key from an Existing Designated DKT Token
Searches the specified wsc:DerivedKeyToken instead of a
114 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Key Identifier
(Default) A reference is made using a KeyIdentifier element with a
SubjectKeyIdentifier ValueType and content.
When selected, the WebGUI refreshes with additional fields.
1) For WS-Security version 1.0 only, select how to control the value
of KeyIdentifier/@ValueType from the X.509 Token Profile 1.0:
KeyIdentifier ValueType list.
Because of the differences between the final WS-Security 1.0
standards and the multiple draft versions of its errata document,
different values of the ValueType attribute are used by different
WS-Security implementations.
#X509SubjectKeyIdentifier
Compatibility with certain versions of .NET Web services
enhancements (WSE) might require this setting. Generates
http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-x509-token-profile-
1.0#X509SubjectKeyIdentifier
X509v3SubjectKeyIdentifier
Compatibility with certain versions of WebSphere might
require this setting. Generates http://docs.oasis-open.org/
wss/2004/01/ oasis-200401-wss-x509-token-profile-
1.0#X509v3SubjectKeyIdentifier
2) For WS-Security version 1.0 and 1.1 only, select the form of the
Subject Key Identifier from the SKI list.
MS-WSE
Form that is used in Microsoft WSE version 1.
PKIX
(Default) Public Key Infrastructure (PKIX) standard.
3) For WS-Security version 1.1 only, specify the number of seconds
to cache the generated key in the EncryptedKeySHA1 Cache
Lifetime for Derived Key field. A value of 0 means that the
generated key is not cached. The default is 0.
4) Select whether a Key Derivation is needed and where to find the
key from the WS-SecureConversation DKT Derivation Base list.
Derive Key from an Existing Designated DKT Token
Searches the specified wsc:DerivedKeyToken instead of a
SecurityContextToken and uses the corresponding label and
nonce to generate the new derived key.
a) Optionally specify the name of the base DKT in the
Name of the Base DKT to Derive a Key field. If not
specified, uses the SecurityContextToken to generate the
key.
b) Specify where in the byte stream of a lengthy generated
key sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of
the Derived Key in the Key Sequence field.
c) If you removed the offset setting, specify which
generation of the key to use in the Generation of the
116 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Derive Key from an Existing Designated DKT Token
Searches the specified wsc:DerivedKeyToken instead of a
SecurityContextToken and uses the corresponding label and
nonce to generate the new derived key.
1) Optionally specify the name of the base DKT in the Name
of the Base DKT to Derive a Key field. If not specified,
uses the SecurityContextToken to generate the key.
2) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
3) If you removed the offset setting, specify which generation
of the key to use in the Generation of the Derived Key in
the Key Sequence field. The generation is the index number
of the fixed key in the lengthy key sequence.
Use Key Derivation without a SCT, and issue an Encrypted Key for
the DKT
1) Select the version of WS-SecureConversation to use from the
WS-SecureConversion Version list.
v 1.1
v 1.2 (Default)
v 1.3
2) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
3) If you removed the offset setting, specify which generation
of the key to use in the Generation of the Derived Key in
the Key Sequence field. The generation is the index number
of the fixed key in the lengthy key sequence.
4) Specify the label of the derived key in the Label of the
Derived Key field.
No WS-SecureConversation Key Derivation
Does not derive a key.
Use Key Derivation if a SCT Token is Available
Checks for an existing wsc:SecurityContextToken and derives a
key from it. Otherwise, uses the generated asymmetric key
without key derivation.
1) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
2) If you removed the offset setting, specify which generation
of the key to use in the Generation of the Derived Key in
the Key Sequence field. The generation is the index number
of the fixed key in the lengthy key sequence.
118 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Use Key Derivation if a SCT Token is Available
Checks for an existing wsc:SecurityContextToken and derives a
key from it. Otherwise, uses the generated asymmetric key
without key derivation.
1) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
2) If you removed the offset setting, specify which generation
of the key to use in the Generation of the Derived Key in
the Key Sequence field. The generation is the index number
of the fixed key in the lengthy key sequence.
3) Specify the label of the derived key in the Label of the
Derived Key field.
X509IssuerSerial
A reference is made using an X509IssuerSerial element that
identifies a certificate by its X.509 issuer and serial number.
When selected, the WebGUI refreshes with additional fields.
Select whether a Key Derivation is needed and where to find the key
from the WS-SecureConversation DKT Derivation Base list.
Derive Key from an Existing Designated DKT Token
Searches the specified wsc:DerivedKeyToken instead of a
SecurityContextToken and uses the corresponding label and
nonce to generate the new derived key.
1) Optionally specify the name of the base DKT in the Name
of the Base DKT to Derive a Key field. If not specified,
uses the SecurityContextToken to generate the key.
2) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
3) If you removed the offset setting, specify which generation
of the key to use in the Generation of the Derived Key in
the Key Sequence field. The generation is the index number
of the fixed key in the lengthy key sequence.
Use Key Derivation without a SCT, and issue an Encrypted Key for
the DKT
1) Select the version of WS-SecureConversation to use from the
WS-SecureConversion Version list.
v 1.1
v 1.2 (Default)
v 1.3
2) Specify where in the byte stream of a lengthy generated key
sequence the derived key starts in the Offset of the
Derived Key in the key sequence field. The default is 0.
This field is mutually exclusive with the Generation of the
Derived Key in the Key Sequence field.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
120 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v To use this certificate, change the setting of the Use Dynamically
Configured Recipient Certificate property to on.
v To not use this certificate, retain the setting for the Use Dynamically
Configured Recipient Certificate property.
When enabled, the encrypt action performs encryption with the certification
from the last verify action. The certificate in the signature is saved in the
var://context/transaction/encrypting-cert variable.
8. Optionally select a Crypto Certificate from the Recipient Certificate list.
The selected certificate overrides any setting that is established for the service.
For example, this certificate can override the XML Firewall Credentials setting
by referencing a certificate that is not in those credentials.
Additional certificate and encryption settings are available on the Advanced tab.
9. Optionally click the Advanced tab configure advanced properties.
a. Confirm the Input property.
b. Confirm the Action Type property.
c. Confirm the Envelope Method property.
d. Confirm the Message Type property.
e. Specify or select the name and location of the encryption style sheet in the
Processing Control File field. The default is the encrypt-soap.xsl file in the
store: directory.
f. Select how to interpret the response from the server from the Output Type
list.
v Binary
v Default
v XML
The default is Default.
g. Confirm the Asynchronous property.
h. Select the algorithm to use for encryption from the Encryption algorithm
list. The default is 3DES-CBC.
i. Select how to encrypt from the Encryption Type list.
Content
(Default) Encrypts the contents of an XML element but not the
element itself.
Element
Encrypts an XML element and its contents.
10. If you configured advanced properties, click the Basic tab.
11. Specify or select the context for the data produced in the Output field.
12. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
122 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Element
Encrypts an XML element and its contents.
j. If the Encryption Type property is set to Element, determine whether to
generate SAML encryption for SAML elements. For SAML 2.0, generates
the EncryptedAssertion or EncryptedAttribute element for Assertions or
Attributes, respectively. For SAML 1.x, generates EncryptedData directly.
Setting to on generates the if it is a SAML 2.0 Assertion or Attribute. For
SAML 1.x message, the SAML schema does not define EncryptedAssertion
or EncryptedAttribute types, so the standard XML Encryption is applied.
v To generate SAML encryption, retain the setting for the Use SAML
Encryption for SAML Elements property.
v To not generate SAML encryption, change the setting for the Use SAML
Encryption for SAML Elements toggle to off.
10. If you configured advanced properties, click the Basic tab.
11. Specify or select the context for the data produced in the Output field.
12. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
For a transform to use the data from a results action that follows the event-sink
action, the transform must use the output context of the results action as its input
context. You can create a style sheet to access and combine all of the contexts that
are created by multiple asynchronous actions.
When the event-sink action includes actions that can reject the message, a rejection
by any of the included actions causes the message to be rejected as if the actions
were processed in sequence. When more than one such action rejects the message,
124 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
any Error Rule that is in the policy has access to the detailed error messages that
were generated for the last asynchronous action to complete only.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
126 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v If the style sheet is not stored on the appliance, specify its location or a
variable that expands to a URL. If a variable, use the var://context/name
form.
v If the style sheet is in the store: or local: directory, select the style sheet.
You can click Upload or Fetch to retrieve the file.
5. Click WSDL Tool to invoke the WSDL Tool wizard. This wizard reads a
specified WSDL file and creates the necessary style sheet to filter on particular
operations. The files are stored in the local: directory.
6. Use the Asynchronous toggle to determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action to
complete by adding this action to a subsequent event-sink action in
the same processing rule. Refer to Event-sink (event-sink) action on
page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. Specify or select the context for the data produced in the Output field.
8. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
128 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
6. Retain the value of store:///wssecurity-message-layout-filter.xsl in the
Processing Control File field.
7. Use the Asynchronous toggle to determine whether the action is
asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
8. Select which WS-Security assertion to apply from the WS-Security Message
Layout Policy list. This policy determines whether to accept or request
documents based on the order of elements in the WS-Security header.
Lax Does not require that tokens be declared before use.
Lax - Timestamp First
Requires that the timestamp be the first element in the header.
Lax - Timestamp Last
Requires that the timestamp be the last element in the header.
Strict Requires that tokens, in general, be declared before use.
9. Specify or select the context for the data produced in the Output field.
10. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
130 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. Select the desired method of iteration from the Iterator Type list.
Count Runs the Loop Action on the entire message in the input context for
the number of times set in the Iterator Count field. The screen
refreshes to display the Iterator Count field. Use an integer in the
range of 1 through 32768.
XPath Expression
Runs the Loop Action on each node set that is returned by the XPath
expression in the XPath Expression field. The screen refreshes to
display the XPath Expression field.
If the XPath expression is /*[namespace-uri()='http://joe.com' and
local-name()='Order']/*[namespace-uri()='http://joe.com' and
local-name()='Item'], the loop runs three times for the following input:
<joe:Order xmlns:joe="http://schemas.joes.com/schemas">
<joe:Item>
<joe:Qty>5</joe:Qty>
<joe:ProdID>32145-12</joe:ProdID>
</joe:Item>
<joe:Item>
<joe:Qty>10</joe:Qty>
<joe:ProdID>78-697-24</joe:ProdID>
</joe:Item>
<joe:Item>
<joe:Qty>10</joe:Qty>
<joe:ProdID>091356-3</joe:ProdID>
</joe:Item>
</joe:Order>
8. Create a Loop Action to run for each iteration of the loop.
a. Select an action type from the Action list.
b. Click Create Action.
The WebGUI displays a configuration window for the selected action type.
c. Configure the action. When configuring this action, consider the following
points:
v The input context of the conditionally invoked action can be different
from the input context of the conditional action itself. Typically, the
input context of the conditionally invoked action is the same as the
conditional action.
v This action can operate in any manner, including as a filter that accepts
or rejects the message, thus continuing or halting processing. Examples
include signature verification, custom filtering style sheets, and AAA
actions.
v This action can be a call action to allow processing of an entire
processing rule.
v This action cannot be the conditional action. A recursive conditional
action cannot be processed. This action can be a different conditional
action that does not contain a loop back to this conditional action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
132 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
var://service/multistep/loop-iterator
This variable contains the value or nodeset of the current iteration through
the input context of the for-each action when the Iterator Type is XPath
Expression. For example, an input message could contain five repeated
elements, such as a URL. As the loop iterates through the message, the
variable contains the value or nodeset of the current line item. It is then
possible to use this variable as a value needed by the Loop Action, such as
the source URL for the style sheet used by a transform-type action, or as
the destination address for a fetch action.
var://service/multistep/loop-count
This variable returns the number of times the loop has iterated.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
MQ header action
The MQ Header action can perform the following header and queue modifications:
134 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
off (Default) Ignores all MQMD header values from the original request
message. The new header values are inserted into the request
message. If blank, the service populates those fields with
auto-generated defaults.
10. Specify an override value for any of the following MQMD header fields:
v Message Id
v Correlation Id
v Character Set Id
v Format Name
v ReplyToQ
v ReplyToQMgr
11. Select an Output context or specify a new context name. Select auto to allow
the processing policy to determine the output context automatically.
12. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
136 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Note: When defining an on-error action, you can use variables to specify the
processing rule, the input context, and the output context. Refer to Set
variable (setvar) action on page 145 for more information.
5. From the Error Mode list, select the operational response to an error
condition.
Cancel
Stop the processing of the current processing rule.
Alternative
Invoke an alternative processing rule.
138 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Continue
Continue with the next sequential processing action.
6. Optionally use the Processing Rule controls to select the target rule. The
target rule is the rule that this action calls. For information about creating
reusable processing rules, refer to Defining reusable rules on page 158.
To define a target rule, do one of the following:
v Select a processing rule from the list of available processing rules.
v Click Var Builder to use the variable builder to define a custom context
variable for a processing rule. Refer to Using the variable builder on page
162 for details.
7. Optionally use the Error Input field or select the input context to the invoked
error rule. If no input context is specified, the input context of the failed
action is provided as a default context to the error rule.
8. Optionally use the Error Output field or select the output context from the
invoked error rule. If no output context is specified, the output context of the
failed action is provided as a default context to the error-rule.
Select OUTPUT to transmit the error message to the requesting client.
9. Use the Asynchronous toggle to determine whether the action is
asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
10. Click Done to complete the action. The configuration path shows the On
Error icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Results actions
A processing policy provides two actions that can send results in the input context
to remote servers:
results
Optionally sends results to one or more remote servers and, when
processing in synchronous mode, waits for a response from the remote
servers. When configured to process in asynchronous mode, the results
action is equivalent to the results-async action. However with the results
action, you can include an event-sink action in the processing rule to wait
for the response from the remote servers. Refer to Results (results) action
on page 140 for configuration details.
results-async
Sends results to one or more remote server and does not wait for a
response from the remote servers. Refer to Results Asynchronous
(results-async) action on page 141 for configuration details.
Because a results-async action does not support an output context, the results
action provides the following options that are not available for a results-async
action. These options are meaningful only when processing in synchronous mode
or when processing in asynchronous mode and the processing rule contains a
subsequent event-sink action.
v The ability to create multiple output contexts.
v The ability to control the aggregation of multiple output contexts.
v The ability to control the interpretation of the server response, if any.
140 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Binary
Stores the response without parsing.
Default
(Default) Examines the content-type in the response. If it indicates
XML or does not exist, parses the response as XML. For any other
value, treats the response as Binary and stores the response
without parsing.
XML Parses the response as XML.
b. Use the Use Multiple Outputs toggle to determine whether to write
parallel outputs into separate contexts.
on Creates a series of output contexts that are based on the value in
the Output field. If the value is out, the output contexts are named
to out_1, out_2, out_3 and so forth. You can then use a custom
style sheet to combine the multiple output contexts into a single
nodeset. Such a style sheet would include code that is similar to
the following excerpt:
<tns:Combined>
<tns:Item from="a">
<xsl:copy-of select="dp:variable('var://context/out_1/')"/>
</tns:Item>
<tns:Item from="b">
<xsl:copy-of select="dp:variable('var://context/out_2/')"/>
</tns:Item>
</tns:Combined>
off (Default) The output context contains the result of the last iteration
only, not the aggregated results of each iteration.
10. Optionally enter or select the context for the data produced in the Output
field.
Leave blank if no response is expected or if the response can be ignored. A
value is required when the Use Multiple Outputs toggle is set to on.
11. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Route-type actions
A processing policy provides three routing implementations using two actions to
select the destination:
Stylesheets
Uses the route-set action to implement style sheet-based routing. Refer to
Route with style sheet (route-action) action on page 143 for details.
142 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
XPath expressions
Uses the route-set action to implement XPath expression-based routing.
Refer to Route with XPath expression (route-action) action for details
Variables
Uses the route-set action to implement variable-based routing. Refer to
Route with variables (route-set) action on page 144 for details.
Note: The style sheet must use the dp:set-target() extension function to set the
routing destination.
6. Use the Asynchronous toggle to determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action to
complete by adding this action to a subsequent event-sink action in
the same processing rule. Refer to Event-sink (event-sink) action on
page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. Optionally specify or select the context for the data produced in the Output
field.
8. Click Done to complete the action and return to the rule configuration window.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
144 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Set variable (setvar) action
To add a setvar action, use the following procedure:
1. Drag the Advanced icon to the configuration path (the horizontal line).
2. Double-click the Advanced icon to display a window that lists the advanced
action types.
3. Click the Set Variable radio button.
4. Click Next to display the Set Variable action window.
5. Use the Context field to specify the context in which the variable is set. For
example, tmp1 identifies the tmp1 context.
6. Specify the name of the variable in the Variable Name field or click Var
Builder to use the variable builder to specify a variable to use as the name.
Refer to Using the variable builder on page 162 for details.
7. Specify the value for the variable in the Variable Assignment field.
8. Use the Asynchronous toggle to determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action to
complete by adding this action to a subsequent event-sink action in
the same processing rule. Refer to Event-sink (event-sink) action on
page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
9. Click Done to complete the action. The configuration path shows the Set
Variable icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
146 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v To verify Signature Confirmation (backend), change the Expect Verifier to
Return wsse11:SignatureConfirmation to on (request side).
This setting saves the generated value. A verify action can process the
response to verify the returned WS-Security 1.1 SignatureConfirmation.
For details about other advanced settings, refer to the online help.
13. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
148 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
2. Double-click the Advanced icon to display a window that lists the advanced
action types.
3. Click the Strip Attachments radio button.
4. Click Next to display the Strip Attachments action window.
5. In the Attachment URI field, specify the attachment to strip. If omitted, all
attachments are stripped from the specified context.
6. Use the Asynchronous toggle to determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action to
complete by adding this action to a subsequent event-sink action in
the same processing rule. Refer to Event-sink (event-sink) action on
page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
7. Click Done to complete the action. The configuration path shows the Strip
Attachments icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
Transform-type actions
A processing policy provides the following transform implementations:
Transform for XML messages
Uses the xform action to transform XML documents. The action identifies
the XSLT style sheet to use to perform the transform.
Transform for non-XML messages
Uses the xformbin action to transform non-XML documents. The action
identifies the XSLT style sheet to use to perform the transform.
Processing instruction-based transform for XML messages
Uses the xformpi action to transform XML documents. The XML document
is the source of the processing instruction. The action uses the processing
instruction in the presented XML documents to perform the transform.
SOAP refinement transform
Transforms the SOAP header and child elements of a SOAP document in
accordance with the defined SOAP Header Disposition table. This
transform uses the soap-refine.xsl style sheet in the store: directory.
Buffer attachments transform
Transforms an attachment manifest to ensure that all attachments are
buffered, not streamed. This transform uses the buffer-attachments.xsl style
sheet in the store: directory.
Conformance transform
Transforms an XML document to conform to the define Conformance
Policy. This transform uses the conformance-xform.xsl style sheet in the
store: directory.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
150 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
7. Optionally from the URL Rewrite Policy list, select the rewrite policy to
rewrite the style sheet URL that is extracted from the incoming document.
Refer to URL Rewrite Policy on page 339 for more information.
8. Use the Asynchronous toggle to determine whether the action is
asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
9. Specify or select the context for the data produced in the Output field.
10. Click Done to complete the action. The configuration path shows The
Transform Binary icon.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
152 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Note: There should not be more than one security header that
omit the actor/role identifier.
USE_MESSAGE_BASE_URI
Indicates that the actor/role identifier is the base URI of the
message. If the SOAP message is transported using HTTP, the
base URI is the request-URI of the HTTP request.
Any other string
Indicates the actor or role of the security header.
off Cause the action to ignore S11:actor and S12:role attributes, which
allows the action to work as any actor or role.
When off, the screen refreshes to display the SOAP Service Type
field. Select the service provider type of the DataPower appliance in
the message flow from the SOAP Service Type list.
Intermediary SOAP service
Applies the following processing rules:
v Remove SOAP headers when the S11:actor or S12:role
attribute is "next".
v Keep SOAP headers when the S11:actor or S12:role attribute
is "none".
v Issue a SOAP Fault in the following cases:
For all unprocessed headers when the S11:mustUnderstand
or S12:mustUnderstand attribute is effectively true
For SOAP 1.2 messages with the S12:notUnderstood
attribute
v Remove processed SOAP headers unless the S12:relay
attribute is effectively true, but keep unprocessed SOAP
headers.
Ultimate SOAP service
(Default) Applies the following processing rules:
v Remove SOAP headers, if the S11:actor or S12:role attribute
is "next".
v Keep SOAP headers, if the S11:actor or S12:role attribute is
"none".
v Issue a SOAP Fault in the following cases:
For all unprocessed headers when the S11:mustUnderstand
or S12:mustUnderstand attribute is effectively true
For SOAP 1.2 messages with the S12:notUnderstood
attribute
v Remove processed and unprocessed SOAP headers.
10. Use the Detect ID References while Deleting toggle to control whether SOAP
headers or their direct child elements can be removed when an XML elements
references them.
on (Default) Delete SOAP headers only when no other XML element
being kept references this header or one of its direct child elements.
Local ID references are detected with #ID.
This setting protects xenc:EncryptedKey when it references
EncryptedData or EncryptedHeader although there is no @URI that
points to xenc:EncryptedKey.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
The request rule cannot know the behavior of subsequent rules in the same scope.
If a request rule streams all attachments, a response rule cannot access attachments
in the intermediate contexts that are created by the request rule. If a response rule
needs access to the attachments that were streamed by the request rule, add a
transform action with the buffer-attachments.xsl style sheet in the store: directory.
This style sheet gets the attachment manifest to ensure that all attachments are
buffered and not streamed.
154 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
156 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Body or Detail
Apply the schema against the contents of the detail element for SOAP
faults, and the contents of the Body otherwise.
Ignore Faults
If the document is a SOAP fault, pass it through without further
validation; otherwise, validate the contents of the SOAP Body.
This setting does not affect validating the INPUT context to ensure that it is a
valid document. If you are validating an intermediate context, such as the
result of an XSLT transform or an externally retrieved document, this content
is not implicitly validated as SOAP. You might want to select Envelope to
validate the entire document.
10. Use the Asynchronous toggle to determine whether the action is
asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the action
to complete by adding this action to a subsequent event-sink action
in the same processing rule. Refer to Event-sink (event-sink) action
on page 124 for details.
off (Default) Marks the action as synchronous. This action must complete
for the next action in the processing rule to begin.
11. Specify or select the context for the data produced in the Output field.
12. Click Done to complete the action.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
If this is the last action to add to the rule, click Apply Policy to add the completed
rule to the processing policy. Otherwise, drag another action icon to the
configuration path.
To define a reusable rule within the context of defining the processing policy, use
the following procedure:
1. Select an existing rule in the policy.
158 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
2. Click Create Reusable Rule. The cursor changes to a + shape.
3. Click and drag the cursor around one or more actions in the current rule. A
blue highlighted box is drawn around the selected action.
4. Depending on the DataPower service, click Apply or Apply Policy to create the
reusable rule.
After the screen redraws, the reusable rule is displayed as a highlighted group in
the policy hierarchy.
160 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v Compress=gzip
v Archive=tar or Archive=zip
v Filename=file_name
The results and results-async actions support the following query parameters:
v Decode=base64 or Decode=hexbin
v Compress=gzip
v Archive=tar or Archive=zip
v Filename=file_name
v Parsable=true
v Manifest=true
The following code excerpt shows a configuration that uses the attachment and
cid protocols:
rule swa-zip-003
# fetch base64 encoded zip file into archive-base64
fetch
cid:contract123.zip
archive-base64
strip-attachments INPUT
The context value for the input argument cannot be INPUT, OUTPUT, or PIPE.
For the call and on-error actions, you can create a custom context variable only.
After clicking Var Builder the area shown in Figure 6 is visible.
For the setvar action, you can create a custom context variable or select an existing
service, extension, or system variable. The created or selected variable must be a
write-only or read-write variable. After clicking Var Builder the area shown in
Figure 7 is visible.
Figure 7. Variable builder for custom context, service, extension, and system variables
After defining a custom context variable, click Use Custom. The variable builder
closes, and the field contains the defined variable.
162 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Debugging processing policies
The DataPower appliance provides a powerful debugging utility for use during the
development of processing policies. This utility is called the multistep probe. The
probe displays the contents of contexts, the value of variables, the results of actions
and the output of the policy. The administrator can step through the policy to view
the action taken on a message.
The probe is enabled through the Troubleshooting icon on the Control Panel. Refer
to IBM WebSphere DataPower SOA Appliances: Problem Determination Guide for more
information.
AAA policies are powerful and flexible. They can support a range of authentication
and authorization mechanisms to include SAML, Netegrity, and RADIUS. Multiple
authentication and authorization mechanisms can be mixed and matched in a
single policy. For example, one AAA policy can use a single RADIUS server to
provide authentication and authorization services, while a second policy can use a
RADIUS server for authentication, use a local XML file to map the RADIUS
authentication credentials to an LDAP group name, and finally use an LDAP
server to authorize the LDAP group.
Figure 8 shows the basic processing for an AAA Policy. Initial processing (common
to all policies) consists of extracting the claimed identity of the service requester
and the requested resource from an incoming message and its protocol envelope.
As you define an AAA Policy, extraction methods are specified by a series of check
boxes that enable one or more identity and resource extraction methods. A wide
range of identity and resource extraction methods are supported. For example,
identity can be based on IP address, form (account name and password), SAML
assertion, or other criteria; while the requested resource can be specified by (among
others) an HTTP URL, a namespace, or a WSDL method.
Post Processing
Output Generate
Message Error
After extracting the service requester identity and resource, the policy authenticates
the claimed identity. Authentication is most commonly accomplished via an
external service (for example, a RADIUS or LDAP server), but other custom
processing methods, such as site-specific XML- or XPath-based solutions, are
readily supported. During policy definition, you select a single authentication
method from a menu of supported methods, and (depending upon the selected
method) provide a few items of additional required information, such as a server
address or the URL of a custom processing resource.
As with identity credentials, the extracted resource name can also be mapped to
something more appropriate for the authorization method selected. The methods
for achieving this optional mapping are the same as those for credential mapping.
The resulting credentials, along with the resulting resource name, form the basis
for client authorization, which determines if the now identified client has access to
the requested resource.
While you can use the same method for both authentication and authorization, you
need not do so. In fact, different authentication and authorization methods are
often employed in real-world situations. If different methods are used, it might be
necessary to map credentials from the authentication phase to a format that is
congruent with a different authorization method. For example, you might want to
map an authenticated account name-password to an LDAP group.
Note: The AAA framework does not stop processing after an unsuccessful
authentication to leave flexibility for unauthenticated access and ensure post
processing, auditing, and accounting can continue. If you are customizing
AAA, be sure that you produce appropriate output for failed authentication
and your custom authorization recognizes unauthenticated requests to avoid
creating a security vulnerability.
Specify the name of this new AAA Policy in the AAA Policy Name field.
Click Create to create the policy with the name provided and displays the Identity
Extraction window.
Note: All selected methods will be implemented. The firmware executes the
methods in the order presented by the list. The AAA policy concatenates all
identities found for authentication.
166 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
It is possible use one authentication policy to support submissions from
multiple different sources that employ different identification methods. For
example, client partner A might use HTTP Basic Authentication, client
partner B might use a WS-Security UsernameToken, and client partner C
might rely on SAML. All three methods would be selected. One policy can
support all three identification methods.
168 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
WS-Trust Base or Supporting Token
The claimed identity of the requester is extracted from a WS-Trust base
or supporting token.
<wst:Base>, if present, contains a token that can be used to verify the
integrity of the message. Since the initial client request (before
establishment of the security context) will likely be over a secured
transport, this element is relevant only when the initial request is over
an unsecured channel. In that case, <wst:Base> points to the X.509
certificate (via a <wsse:SecurityTokenReference> child element) whose
private key has secured the authentication information (for instance,
encrypting a <wsse:UsernameElement> in the header).
The following example presents a complete SOAP Envelope with a
WS-Trust Base token highlighted in bold.
<?xml version="1.0" encoding="us-ascii"?>
<S11:Envelope xmlns:S11="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
xmlns:wse="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wst="http://schemas.xmlsoap.org/ws/2004/04/trust"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">
<S11:Header> <wsa:MessageID wsu:Id="msg">message1</wsa:MessageID>
...
<wse:Security>
<wse:UsernameToken wsu:Id="username">
<wse:Username>John</wse:Username>
<wse:Password>nhoJ</wse:Password>
</wse:UsernameToken>
</wse:Security>
</S11:Header>
<S11:Body>
<wst:RequestSecurityToken wst:Context="context1">
...
<wst:Base>
<wse:SecurityTokenReference>
<wse:Reference URI="#username" />
</wse:SecurityTokenReference>
</wst:Base>
</wst:RequestSecurityToken>
</S11:Body>
</S11:Envelope>
Kerberos AP-REQ from WS-Security Header
The claimed identity of the requester is extracted from a Kerberos
AP-REQ (containing a ticket and an authenticator) contained in the
WS-Security header.
Kerberos AP-REQ from SPNEGO
The claimed identity of the requester is extracted from a Kerberos
AP-REQ (containing a ticket and an authenticator) contained in a
SPNEGO token.
Token Subject DN of the SSL Certificate from the Connection Peer
The claimed identity of the requester is extracted from the SSL client
certificate presented during the SSL handshake.
Name from SAML Attribute Assertion
The claimed identity of the requester is extracted from a SAML
assertion that contains a SAML attribute statement the name contained
in the Subject element of the attribute statement is used as the claimed
identity.
172 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v If the resource is stored in the local: or store: directory, select
the resource.
v If the resource is remote to the local: or store directory, specify
the location of the resource.
v If the resource is stored on the WebGUI workstation, click
Upload to transfer the file.
v If the resource is stored on a remote server, click Fetch to
transfer the file.
2. After enabling one or more identity extraction methods, click Next to display
the Authentication window and continue with the Authentication phase of the
AAA Policy definition.
Use the Method radio buttons to select the authentication method. You can select
only one authentication method. The selected method should not conflict with the
methods that are used to extract an identity.
Accept a SAML Assertion with a Valid Signature
The requester is authenticated by a SAML assertion with a valid signature.
An optional field appears to identify validation credentials. If selected, the
WebGUI displays the following properties:
SAML signature validation credentials
Optionally select the Validation Credentials set used to validate a
digitally-signed SAML assertion. The AAA policy validates the
signature against these credentials. If the certificate cannot be
validated, authentication fails. For information on compiling a
Validation Credentials List, refer to Working with Validation
Credentials objects on page 21.
Accept an LTPA token
The requester is authenticated by an encrypted LTPA token. Refer to
Understanding LTPA for more information. If selected, the WebGUI displays
the following properties:
Acceptable LTPA Versions
Select the LTPA formats to support:
Domino LTPA
Used in Lotus Domino environments
WebSphere Version 1 LTPA
Used in WebSphere environments
WebSphere Version 2 LTPA
(Default) Used in WebSphere environments. This version was
introduced in WebSphere Application Server for z/OS version
5.1.0.2; for other platforms, version 5.1.1.
You must select at least one, or all LTPA-based authentication fail.
Because the LTPA token must be decrypted before authentication, define
the following properties:
174 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
login name of the user along with the LDAP prefix and the
LDAP suffix will be used to construct the users DN.
v If on, the WebGUI displays the LDAP Search Parameters field.
Select the LDAP Search Parameters from the list. Refer to
Defining an LDAP Search Parameters object on page 286 for
detail.
v If off, the WebGUI removes the LDAP Prefix and LDAP Suffix
fields:
LDAP Prefix
Optionally specify an LDAP prefix name. The specified string is
prefixed to the identity that is extracted before submission to the
LDAP server. The default is cn=.
LDAP Suffix
Optionally specify an LDAP Suffix name. This specified string is
appended to the identity that is extracted before submission to the
LDAP server. For example, o=datapower.
Contact a SAML Server for a SAML Authentication Statement
The requester is authenticated by a SAML server. If authentication
succeeds, a SAML Authentication statement is returned and used for
further communication. If selected, the WebGUI displays the following
properties:
SAML signature validation credentials
Optionally select the Validation Credentials set used to validate a
digitally-signed SAML authentication statement. The AAA policy
validates the signature against these credentials. If the certificate
cannot be validated, authentication fails. Refer to Working with
Validation Credentials objects on page 21 for more information.
SAML Authentication Query Server URL
Specify the URL of the SAML Authentication server to use to retrieve
a SAML authentication statement.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authentication server. Retain the default value to use a non-SSL
connection.
SAML Version
Select the SAML version. Versions 1.0, 1.1 (Default) and 2.0 are
supported. This version determines the protocol level of SAML
messages, which, in turn, affects the extraction of identity from the
original message and the format of messages to SAML authentication
and authorization entities.
Contact a WS-Trust Server for a WS-Trust Token
The requester is authenticated by a WS-Trust server. The server
authenticates the requester and returns a WS-Trust token that can be used
for further communication. If selected, the WebGUI displays the following
properties:
WS-Trust Server URL
Specify the URL used to access the WS-Trust server.
The following properties are relevant for attaching WS-Policy, not for AAA
authentication.
Require Client Entropy
Indicates whether to require client entropy as key material in the
WS-Trust request.
on Requires client entropy. The DataPower appliance sends an
entropy element to the WS-Trust server as part of the security
token request exchange. Use the WS-Trust Encryption
Certificate property to determine how to include the key
material in the request.
off (Default) Does not require client entropy.
When required, specify the size of the client entropy in bytes in the
Client Entropy Size field. The size refers to the length of the client
entropy before Base64 encoding. Use an integer in the range of 8
through 128. The default is 32.
Require Server Entropy
Indicates whether to require server entropy in the WS-Trust response.
on Requires server entropy. The WS-Trust server must return an
entropy element to the DataPower appliance as part of the
security token request exchange.
off (Default) Does not require server entropy.
When required, specify the minimum allowable size of the received
entropy material in bytes in the Server Entropy Size field. The size
refers to the length of the client entropy before Base64 encoding. Use
an integer in the range of 8 through 128. The default is 32.
Require RequestSecurityTokenCollection
Indicates whether to generate a WS-Trust RequestSecurityToken or a
WS-Trust RequestSecurityTokenCollection as part of the security
token request exchange.
on Generates a WS-Trust RequestSecurityTokenCollection.
off (Default) Generates a WS-Trust RequestSecurityToken.
Require AppliesTo SOAP Header
Indicates whether to generate a WS-Addressing AppliesTo header as
part of the security token request exchange.
on Generates a WS-Addressing AppliesTo header.
off (Default) Does not generate a WS-Addressing AppliesTo
header.
When required, specify the value for the AppliesTo header in the
AppliesTo Header field.
176 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
WS-Trust Encryption Certificate
Optionally select a Crypto Certificate to encrypt WS-Trust elements in
the request. If selected, he public key of the certificate encrypts the
client entropy key material for the recipient. If blank, the WS-Trust
BinarySecret element contains the entropy material. In this case, use
an SSL Proxy Profile to secure the message exchange with the
WS-Trust server.
Contact ClearTrust server
The requester is authenticated by a ClearTrust server. If selected, the
WebGUI displays the following properties:
ClearTrust Server URL
Specify the URL used to access the ClearTrust server.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authentication server. Retain the default value to use a non-SSL
connection.
Contact Netegrity SiteMinder
The requester is authenticated by a Netegrity server. If selected, the
WebGUI displays the following properties:
Host
Specify the IP address or host name of the Netegrity server.
Port Specify the port number of the Netegrity server.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authentication server. Retain the default value to use a non-SSL
connection.
Netegrity Base URI
Optionally specify a Base URI for the identified Netegrity server. The
Base URI consists of the concatenation of the combination of the
servlet-name and url-pattern from its web.xml file. Given the
following entries in a web.xml file, specify datapoweragent/.
<servlet-mapping>
<servlet-name>datapoweragent</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Contact NSS for SAF Authentication
The requester is authenticated by the SAF. If selected, the WebGUI prompts
for the following property:
z/OS NSS Client Configuration
Select the z/OS NSS Client object that specifies the details for
connecting to the NSS server for SAF authentication. Refer
toCreating the z/OS NSS Client on page 354 for more information.
Contact Tivoli Access Manager
The requester is authenticated by Tivoli Access Manager (TAM). This is a
licensed feature and is not available on all systems. To use this method, a
valid TAM object must exist. If selected, the WebGUI displays the
following property:
Tivoli Access Manager Configuration
Select a TAM object. Refer to Creating and configuring TAM objects
on page 271 for more information.
178 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
URL
Select or specify the location of the file:
v If the target file is stored in the local: or store: directory, select the
file.
v If the target file is stored on the WebGUI workstation, click Upload
to transfer the file.
v If the target file is stored on a remote server, click Fetch to transfer
the file.
v If the target file is remote to the local: or store: directory, specify
the location of the target file.
Refer to AAA Info File on page 265 for more information.
Use specified RADIUS Server
The requester is authenticated by a RADIUS server. The AAA policy
automatically contacts RADIUS servers. At least one AAA RADIUS server
must be configured for use. A RADIUS Settings object can be created in the
default domain only. For details, refer to the IBM WebSphere DataPower
SOA Appliances: Administrators Guide.
If selected, the WebGUI displays the following property:
RADIUS Settings
Select a list of RADIUS servers. Without a list of AAA RADIUS
servers in an existing instance of the RADIUS Settings object, the
AAA policy uses the servers in the RADIUS servers list.
Validate a Kerberos AP-REQ for the Correct Server Principal
The requester is authenticated using a Kerberos AP-REQ that is in the
WS-Security header. If selected, the WebGUI displays the following
property:
Servers Kerberos Keytab
Select the Kerberos Keytab File. Refer to Kerberos Keytab File
objects on page 276 for more information.
Validate the Signer Certificate for a Digitally Signed Message
The requester is authenticated via the certificate passed as part of the
<X509/> element of a digitally signed message. If selected, the WebGUI
displays the following properties:
Signature Validation Credentials
Optionally select the Validation Credentials set used to validate the
certificate presented by document signer. If this certificate cannot be
validated, authentication fails. Refer to Working with Validation
Credentials objects on page 21 for more information.
XPath Expression
Specify an XPath expression to be applied to the incoming document
to extract the signed portion of the document.
For assistance in creating the XPath expression, click XPath Tool. This
tool allows you to load an XML document and build the expression
by selecting the desired node.
If the defined expression contains namespace elements, click XPath
Binding to provide namespace/prefix data. Refer to Setting
namespace mappings (XPath bindings) on page 264 for more
information.
After select one authentication method, continue with the Map Credentials phase
of the AAA Policy definition.
180 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v If the resource is stored on a remote server, click Fetch to transfer
the file.
None (Default) Credential mapping is not performed.
TFIM Credentials are taken from a TFIM configuration. If selected, the WebGUI
prompts from the following property:
TFIM Configuration
Select a TFIM configuration. Refer to Creating the TFIM object on
page 272 for more information.
WS-SecureConversation
Credentials are taken from the WS-SecureConversation context token.
XML File
Identifies an XML file as the mapping resource. If selected, the WebGUI
displays the following property:
URL
v If the resource is stored in the local: or store: directory, select the
resource.
v If the resource is remote to the local: or store directory, specify the
location of the resource.
v If the resource is stored on the WebGUI workstation, click Upload
to transfer the file.
v If the resource is stored on a remote server, click Fetch to transfer
the file.
Refer to AAA Info File on page 265 for more information.
XPath Identifies an XPath expression as the mapping resource. If selected, the
WebGUI displays the following property:
XPath Expression
Specify an XPath expression to be applied to the value extracted
during the identity extraction phase.
For assistance in creating the XPath expression, click XPath Tool. This
tool allows you to load an XML document and build the expression
by selecting the desired node.
If the defined expression contains namespace elements, click XPath
Binding to provide namespace or prefix data. Refer to Setting
namespace mappings (XPath bindings) on page 264 for more
information.
Use the check boxes to select one or more resource extraction methods.
URL sent to back end
The identity of the requested resource is extracted from the (possibly
rewritten) URL sent to the server. If the firewall has an active URL Rewrite
Policy in place, this value is likely to be different than the URL sent by the
client. For example:
https://server.insideservice.com/ProcessTransactions
URL sent by client
The identity of the requested resource is extracted from the original URL
sent by the client. For example:
https://www.consumerservice.com/PlaceOrder
URI of toplevel element in the message
The identity of the requested resource is extracted from the namespace of
the top-level application element. For example:
<?xml version="1.0" encoding="UTF-8"?>
<S11:Envelope
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/"
xmlns:S11="http://schemas.xmlsoap.org/soap/envelope/">
<S11:Header>...</S11:Header>
<S11:Body>...</S11:Body>
</S11:Envelope>
Local name of request element
The identity of the requested resource is extracted from the simple name of
the top-level application element. For example:
<?xml version="1.0" encoding="UTF-8"?>
<S11:Envelope
...
<S11:Header>...</S11:Header>
<S11:Body>
<i:getBalance xmlns:i="urn:develop-com:IBank">
...
</S11:Body>
</S11:Envelope>
182 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
HTTP operation (GET/POST)
The identity of the requested resource is the HTTP operation of the client
request. For example:
POST/InStock HTTP/1.1
Host: www.stock.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
XPath expression
The identity of the requested resource is extracted from the client request
by an XPath expression. If selected, the WebGUI displays the following
properties:
XPath expression
Specify an XPath expression to be applied to the value extracted
during the Resource Extraction step.
For assistance in creating the XPath expression, click XPath Tool. This
tool allows you to load an XML document and build the expression
by selecting the desired node.
If the defined expression contains namespace elements, click XPath
Binding to provide namespace/prefix data. Refer to Setting
namespace mappings (XPath bindings) on page 264 for more
information.
For example, you could specify /*[local-name()="message"]/*[local-
name()="transitmethod"] for the following message:
<?xml version="1.0"?>
<message xmlns="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com message.xml">
<to>Alice</to>
<from>Bob</from>
<subject>Important</subject>
<body>
Traveling to San Francisco, Honolulu, and Ashtabula.
See you in the sky.
</body>
<transitmethod>Fax</transitmethod>
</message>
Processing Metadata
Extract the resource from the processing metadata, such as protocol
headers, system variables, and other custom metadata sources. If selected,
the WebGUI displays the following property:
Processing Metadata Item
Select a Processing Metadata object to identify extracted items. Refer
to Processing Metadata on page 322 for more information.
You must use custom style sheet for authentication.
184 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Tivoli object space instance prefix
Specify the name of the WebSEAL instance. When
implemented, the mapped resource output is:
/WebSEAL/instance_name/mapped_resource_name
WebSEAL URL mapping file
Optionally specify the name of the WebSEAL DynURL
file. When configured and an entry is matched for a
request, the DynURL output replaces the output of the
extract resource string that is appended to the TAM object
space prefix.
xmlfile
Identifies an XML file as the mapping resource. If selected, the
WebGUI displays the following property:
URL
v If the resource is stored in the local: or store: directory, select
the resource.
v If the resource is remote to the local: or store directory,
specify the location of the resource.
v If the resource is stored on the WebGUI workstation, click
Upload to transfer the file.
v If the resource is stored on a remote server, click Fetch to
transfer the file.
Refer to AAA Info File on page 265 for more information.
XPath
Identifies an XPath expression as the mapping resource. If selected,
the WebGUI displays the following property:
XPath expression
Specify an XPath expression to be applied to the value extracted
during the Resource Extraction phase.
For assistance in creating the XPath expression, click XPath
Tool. This tool allows you to load an XML document and build
the expression by selecting the desired node.
If the defined expression contains namespace elements, click
XPath Binding to provide namespace/prefix data. Refer to
Setting namespace mappings (XPath bindings) on page 264
for more information.
Resource/Action map
Select an existing action map file.
This type of action map allows a single AAA policy to use different
ACL actions during authorization based on the requested resource.
For example, you could have a TAM action map with the entries
listed in Table 2.
Table 2. Example of TAM action map entries
Pattern Action
*one* x (execute)
*two* r (read)
186 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Port Specify the port number of the Netegrity SiteMinder server. The
default is 389.
Netegrity Base URI
Optionally specify a base URI for the Netegrity SiteMinder server.
Contact NSS for SAF Authorization
The requester is authorized by the SAF. If selected, the WebGUI prompts
for the following property:
z/OS NSS Client Configuration
Select the z/OS NSS Client object that specifies the details for
connecting to the NSS server for SAF authorization. Refer toCreating
the z/OS NSS Client on page 354 for more information.
Contact ClearTrust Server
The requester is authorized by a ClearTrust server. If selected, the WebGUI
displays the following properties:
ClearTrust Server URL
Specify the URL used to access the ClearTrust Server
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authorization server. Retain the default value to use a non-SSL
connection.
Custom template
The requester is authorized by an unlisted resource; for example, a style
sheet. If selected, the WebGUI displays the following properties:
Specify a URL
v If the resource is stored in the local: or store: directory, select the
resource.
v If the resource is remote to the local: or store directory, specify the
location of the resource.
v If the resource is stored on the WebGUI workstation, click Upload
to transfer the file.
v If the resource is stored on a remote server, click Fetch to transfer
the file.
Check for membership in an LDAP group
The requester is authorized by an LDAP server. If selected, the WebGUI
displays the following properties:
Host
Specify the IP address or host name of the LDAP server.
Port Specify the port number of the LDAP server.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authorization server. Retain the default value to use a non-SSL
connection.
Group DN
Specify the name of LDAP group.
LDAP Bind DN
Specify the Distinguished Name for the LDAP Bind.
188 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SAML Name Qualifier
Optionally specify the SAML Name Qualifier to provide a Name
Qualifier as defined in Section 2.4.2.2 of Assertions and Protocol for the
OASIS Security Assertion Markup Language (SAML) V1.1.
SAML Version
Select the SAML version. Versions 1.0, 1.1 (Default) and 2.0 are
supported. This version determines the protocol level of SAML
messages, which, in turn, affects the extraction of identity from the
original message and the format of messages to SAML authentication
and authorization entities.
SAML signature validation credentials
Select a Crypto Validation Credential set to use for this transaction. If
a Crypto Validation Credential is selected here, then the certificate
used to sign the SAML message will be validated as part of the
authorization step.
For information on creating a Crypto Validation Credentials set, refer
to Working with Validation Credentials objects on page 21.
SAML message signing key
Select a Crypto Key to use for this transaction. For information on
creating a Crypto Key, refer to Defining Key objects on page 16.
SAML message signing certificate
Select a Crypto Certificate to use for this transaction. For information
on creating a Crypto Certificate, refer to Defining Certificate objects
on page 13.
SAML message signing algorithm
If the SAML message that is generated for this policy will be digitally
signed, select the SignatureMethod for the signing algorithm. The
default is rsa.
SAML signing message digest algorithm
If the SAML message that is generated for this policy will be digitally
signed, select the algorithm to calculate the message digest for
signing. The default is sha1.
Generate a SAML attribute query
The requester is authorized by a SAML attribute query. If selected, the
WebGUI displays the following properties:
SAML Server URL
Specify the URL of the target SAML server.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authorization server. Retain the default value to use a non-SSL
connection.
SAML Version
Select the SAML version. Versions 1.0, 1.1 (Default) and 2.0 are
supported. This version determines the protocol level of SAML
messages, which, in turn, affects the extraction of identity from the
original message and the format of messages to SAML authentication
and authorization entities.
Type
Use the radio buttons to select a SAML match type.
190 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SAML signing message digest algorithm
If the SAML message that is generated for this policy will be digitally
signed, select the algorithm to calculate the message digest for
signing. The default is sha1.
Use SAML attributes from Authentication
The requestor is authorized using the SAML attributes obtained during the
authentication phase. These attributes are compared to the SAML
Attributes configured for this policy. If selected, the WebGUI displays the
following properties:
Type
Use the radio buttons to select a SAML match type.
XPath expression
(Default) Specify an XPath expression to be used to match
SAML attributes (names or names and values).
For assistance in creating the XPath expression, click XPath
Tool. This tool allows you to load an XML document and build
the expression by selecting the desired node.
If the defined expression contains namespace elements, click
XPath Binding to provide namespace/prefix data. Refer to
Setting namespace mappings (XPath bindings) on page 264
for more information.
Must match at least one name
Any one Attribute name in the response from the SAML server
must match one configured on the SAML Attributes panel. To
define SAML attributes, refer to Defining SAML attributes on
page 264.
Must match all names
All Attribute names in the response from the SAML server must
match those configured on the SAML Attributes panel. To
define SAML attributes, refer to Defining SAML attributes on
page 264.
Must match at least one name and value
Any one Attribute name and corresponding value in the
response from the SAML server must match one name-value
pair configured on the SAML Attributes panel. To define SAML
attributes, refer to Defining SAML attributes on page 264.
Must match all names and values
All attribute names and corresponding values in the response
from the SAML server must match those configured on the
SAML Attributes panel. To define SAML attributes, refer to
Defining SAML attributes on page 264.
Use XACML Authorization Decision
The requester is authorized by an internal or external XACML Policy
Decision Point (PDP). Refer to XACML Policy Decision Point on page
277 for information on creating an internal PDP.
If selected, the WebGUI displays the following properties:
XACML Version (list)
Select the XACML version (1.0 or 2.0, the default) to use for
communications between the PDP and this AAA Policy, acting as an
XACML Policy Enforcement Point (PEP).
192 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
This property can be combined with the PDP Requires
SAML 2.0 property when the XACML request is wrapped
by the <xacml-samlp:XACMLAuthzDecisionQuery> SAML
Profile element.
AAA XACML Binding Method
Retain the default value, which is the only supported option.
Custom Stylesheet to Bind AAA and XACML
Select the custom style sheet that maps the AAA result or input
message to the XACML context request. This context request contacts
the PDP for an XACML decision.
Obligation Fulfillment Custom Stylesheet
Specify the custom style sheet to parse any obligation that
accompany an authorization decision that is received from the PEP.
Use DataPower AAA info file
The requester is authorized by an XML file. If selected, the WebGUI
displays the following property:
URL
v If the resource is stored in the local: or store: directory, select the
resource.
v If the resource is remote to the local: or store directory, specify the
location of the resource.
v If the resource is stored on the WebGUI workstation, click Upload
to transfer the file.
v If the resource is stored on a remote server, click Fetch to transfer
the file.
Refer to AAA Info File on page 265 for more information.
Additionally, you can send a logout message to a SAML authority. However, this
post processing activity is available from the Object view only. For details, refer to
AAA Policy on page 239.
If you are defining a new monitor, select XPath from the Measure list. Refer to
Message Count Monitor on page 230 for information on creating message count
monitors.
To define a new monitor, click Reject Counter Tool. This tool helps to create the
monitor.
194 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v For rejected attempts, entries are at the warning level.
Note: Log targets accepts log entries at a configured level. A log target accepts
only entries at or above the configured level. Setting this level too high
might not capture the desired log entries. Setting this level too low might
create too many log entries.
To change the level for the entry, select that level from the Log Level for Allowed
Access Attempts list.
To change the level for the entry, select that level from the Log Level for Rejected
Access Attempts list.
The AAA Policy supports SAML versions 1.0, 1.1, and 2.0. The version determines
the protocol level of SAML messages. The version affects the extraction of the
identity from the original message and the format of messages.
To have the DataPower appliance act as an authorized Kerberos client, use the
following procedure:
1. Change the setting of Include a WS-Security Kerberos AP-REQ Token to on.
The WebGUI displays additional fields.
2. Type the name part of the client identity in the Kerberos client principal field.
The client name is in the cname field of the unencrypted portion of the Kerberos
ticket.
3. Type the location of the Kerberos keytab file in the Kerberos client keytab
field.
4. Type the name part of the server identity in the Kerberos server principal
field. The server name is in the sname field of the unencrypted portion of the
Kerberos ticket.
5. Select the value type of the token from the Value Type for generated Kerberos
BinarySecurityToken list. The default is 1.1 (GSS).
The WS-Trust token requires a symmetric shared secret key to initialize the security
context. This processing can handle Issue, Renew, Validate, and Cancel operations
against a request security token or request security token collection. You can define
the renewal behavior. During a token renewal, the processing locates
<wst:RenewTarget> and updates the referenced <wsc:SecurityContextToken> token
by resetting its created time. The renewed token is returned in the response
message.
196 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
To generate a WS-Trust token, use the following procedure:
1. Change the setting of Process WS-Trust SCT STS Request to on. The WebGUI
displays additional fields.
2. Determine whether to place the generated token in the SOAP body or as a
SOAP header.
v To place the token in the SOAP body, retain the setting of Return the
WS-Trust Token as SOAP Header. The generated token is in the
wst:RequestSecurityTokenResponse element.
v To return the token as a SOAP header, change the setting of Return the
WS-Trust Token as SOAP Header to on. The generated token is the
wst:RequestSecurityTokenResponse element but is wrapped in a
wst:IssuedToken element.
3. Type of validity duration in seconds for the SCT in the Security Context
Validity field.
v A negative integer makes the token never expire.
v A value of 0 uses the value of the var://system/AAA/defaultexpiry variable.
If not defined, the default is 14400 (4 hours)
v A positive integer makes the token after the specified duration.
The default is 0.
4. Determine whether to generate a WS-Trust token timestamp.
To generate the timestamp, retain the setting of Output WS-Trust Token
Timestamp. Otherwise, change the setting to off.
5. Select the source for the required symmetric shared key from the Source of
Shared Secret to Initialize Security Context list:
Use WS-Trust Client Entropy
The request message contains <wst:Entropy> with a Base64 encoded
binary or encrypted key that is used to initialize the security context.
Decrypt the Encrypted Key from Message
The request message contains an encrypted key from the client. The
STS can use the decrypted key to initialize the security context.
The Authenticated Kerberos Session Key
The request message contains a Kerberos token and the Kerberos
session key that can be used to initialize the security context.
Generate a Random Key
(Default) The STS generates a random key as the shared secret to
initialize the security context. The shared secret key is returned to the
client as <wst:RequestedProofToken>.
Use Static Shared Secret Object
The client and the STS have an out-of-band agreement to use a shared
secret key to initialize the security context. Although you can use a
static shared secret key, this method is less secure than the other
methods. If you select this method, the same shared secret key
initializes every security context.
6. If you selected Use Static Shared Secret Object, select a Shared Secret Key
from the Shared Secret Key list.
7. Determine how to process a WS-Trust request with a renew operation. If the
initial issue operation stated that tokens cannot be renewed, this setting is
ignored. When a token is renewed,
v To allow the renew operation and define the behavior:
198 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Blank or an empty string
No actor/role identifier is configured. The ultimate receiver is assumed
when processing the message, and no actor/role attribute is added when
generating the security header.
Note: There should not be more than one security header that omit the
actor/role identifier.
USE_MESSAGE_BASE_URI
Indicates that the actor/role identifier will be the base URI of the
message. If the SOAP message is transported using HTTP, the base URI is
the request-URI of the HTTP request.
Any other string
Indicates the actor or role of the security header.
4. Select whether to include the password in the token.
v To include the password:
a. Retain the default setting of Include Password.
b. Select the type of from the WS-Security UsernameToken Password Type
list.
Text The actual password for the user name, the password hash, or a
derived password.
Digest
(Default) The digest of the password as specified in the Web Services
Security: UsernameToken Profile 1.0.
v To exclude the password:
a. Change the setting of Include Password to off.
b. Select whether to use the Derived-Key variant. If enabled, adds a
WS-Security Derived-Key UsernameToken to the message and adds an
HMAC signature using the derived-key.
To use the variant:
1) Change the setting of Use Derived-Key variant of WS-Security
UsernameToken to on.
2) Type the number of rounds of hashing to use when generating a
derived key from a password in the Hashing iteration count field.
The minimum value is 2. The default is 1000.
3) Select the HMAC signing algorithm from the HMAC Signing
Algorithm list. The default is hmac-sha1.
4) Select the Message Digest algorithm from the Signing Message
Digest Algorithm list. The default is sha1.
To not use the variant, retain the setting of Use Derived-Key variant
of WS-Security UsernameToken.
200 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Chapter 7. Managing files
The appliance contains no hard drive for file storage. As a result, the storage space
for files and other artifacts is limited.
202 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
pubcerts
This encrypted subdirectory contains files that are used by the
appliance itself. This subdirectory is available from the command
line only.
tasktemplates:
This directory contains the XSL files that define the display of specialized
WebGUI screens. Each appliance contains only one tasktemplates: directory.
This directory is visible to the default domain only.
temporary:
This directory is used as temporary disk space by processing rules. Each
application domain contains one temporary: directory. This directory is not
shared across domains.
Either method displays the File Management screen. The initial screen shows the
top level directories.
Creating a subdirectory
Subdirectories can only be creates under the local: directory or one of its
subdirectories.
Follow these steps to create a subdirectory under the local: directory or one of its
subdirectories:
1. Launch the File Management utility. Refer to Launching the File Management
utility for details.
2. From the Action column, click Actions aligned with the directory for the
subdirectory to be created.
3. Click Create Subdirectory. The File Management screen displays.
4. Enter the name of the new subdirectory in the directory Name field.
5. Click Confirm Create. The File Management screen refreshes.
6. Click Continue. The File Management screen displays the top-level directories
only.
Follow these steps to delete a directory under the local: directory or one of its
subdirectories:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. From the Action column, click Actions aligned with the directory to be deleted.
3. Click Delete Directory. The File Management screen displays.
4. Click Confirm Delete. The File Management screen refreshes.
5. Click Continue. The File Management screen displays the top-level directories
only.
Note: If you used browsing to select the file or if you navigated to this field
using the tab key, the field contains the file name.
7. To add another file to be uploaded:
a. Click Add.
b. Repeat steps 5 and 6.
8. If one of the files already exists in the selected directory and you want to
overwrite this file, check the Overwrite Existing Files check box. If you do
not select this check box and the file already exists, the file is not uploaded.
9. Click Upload.
10. When the appliance reports success (or an error is the file already existed),
click Continue to return to the File Management screen.
The target directory now contains the uploaded files. To verify, use the procedure
described in Displaying directory contents on page 203.
204 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Working with Java Key Stores
A Java Key Store (JKS) is a Sun-proprietary format file that contains private keys
and certificates. The java.security package and sub-packages access the data in
the JKS to carry out their cryptographic operations.
Required software
JKS support requires the following software on the WebGUI workstation:
v Version 1.4.2 of the Java runtime environment (j2re1.4.2)
v SDK (j2sdk1.4.2)
v Internet Explorer
Note: You must have the JRE or Java SDK /bin path name in the Windows PATH
environment variable on the WebGUI workstation. The Java Key Store file
cannot reside on any of the local directories. It must be uploaded from a
workstation.
Granting permissions
In addition, the user must have the grant permission for the upload in the
.java.policy file on the workstation that contains the Java Key Store files. The
following example .java.policy file should be defined on the workstation
computer before starting the upload:
grant {
permission java.io.FilePermission "<<ALL FILES>>","read";
permission java.util.PropertyPermission "*", "read";
permission java.lang.RuntimePermission "accessClassInPackage.sun.*";
};
You must know the key store type to successfully upload files from a JKS.
Note: When you click the Java Key Store radio button, the Java Console of
the browser opens and shows whether the Java Key Store Access
The target directory now contains the uploaded key or certificate. To verify that the
file exists, use the procedure described in Displaying directory contents on page
203.
If the upload fails, look at the Java Console of the browser to determine whether
an exception was thrown.
Fetching files
Use the following procedure to retrieve a file from a remote URL (fetch) and store
that file in a specified directory on the appliance:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory into which you want to upload the file.
3. Click Actions in that row to open the Directory Actions menu.
4. Click Fetch Files to display the Fetch File screen.
5. Specify the location of the file in the Source URL field.
6. Specify the file name in the Save as field.
7. If the file already exists in the selected directory and you want to overwrite this
file, check the Overwrite Existing Files check box. If you do not select this
check box and the file already exists, the file is not uploaded.
8. Click Fetch.
9. When the appliance reports success, click Continue to return to the File
Management screen.
The target directory now contains the retrieved file. To verify, use the procedure
described in Displaying directory contents on page 203.
Copying files
Use the following procedure to copy a file from one directory to another:
206 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the files to be copied.
3. Select files by clicking the box adjacent to the file name.
4. Scroll to the top or bottom of the screen and click Copy to display the File
Copy screen.
5. From the New Directory Name list, select the target directory.
6. Specify the name for the file, if different, in the New File Name field.
7. If one of the selected files already exists in its associated target directory and
you want to overwrite this file, check the Overwrite Existing Files check box. If
you do not select this check box and the file already exists, the file is not
copied.
8. Click Confirm Copy to copy the files to the target directories.
9. When the appliance reports success, click Continue to return to the File
Management screen.
The target directories now contain the copied files. To verify that the files exist, use
the procedure described in Displaying directory contents on page 203.
Renaming files
Use the following procedure to rename a file:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the files to be copied.
3. Select files by clicking the box adjacent to the file name.
4. Click Rename to display the File Rename screen.
5. Specify the name of the file in the New File Name field.
6. If one of the selected files already exists in the target directory and you want to
overwrite this file, check the Overwrite Existing Files check box. If you do not
select this check box and the file already exists, the file is not copied.
7. Click Confirm Rename.
8. When the appliance reports success, click Continue to return to the File
Management screen.
The target directories now contain the renamed files. To verify that the files exist,
use the procedure described in Displaying directory contents on page 203.
Moving files
Use the following procedure to move a file from one directory to another:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the files to be moved.
3. Select files by clicking the box adjacent to the file name.
4. Click Move to display the Move File screen.
5. From the New Directory list, select the target directory.
6. If one of the selected files already exists in its directory and you want to
overwrite this file, select the Overwrite Existing Files check box. If you do not
select this check box and the file already exists, the file is not moved.
The target directories now contain the moved files. To verify that the files exist, use
the procedure described in Displaying directory contents on page 203.
Viewing files
Use the following procedure to view a text file:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the file.
3. Click the file to open a browser that contains the file.
Editing files
Use the following procedure to edit a text file:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the files to be edited.
3. Select the file to be edited by clicking Edit in the row that is associated with
that file. The WebGUI displays a file preview.
4. Click Edit to change to Edit Mode.
5. Edit the file as required.
6. Click Submit to complete the edit process.
7. When the appliance reports success, click Close to return to the File
Management screen.
Deleting files
Use the following procedure to delete a file:
1. Launch the File Management utility. Refer to Launching the File Management
utility on page 203 for details.
2. Navigate to the directory that contains the files to be deleted.
3. Select files by clicking the box adjacent to the file name.
4. Scroll to the top or bottom of the screen and click Delete to display the Delete
File screen.
5. Click Confirm Delete to delete the files.
6. When the appliance reports success, click Continue to return to the File
Management screen.
The selected files were deleted. To verify that the files no longer exist, use the
procedure described in Displaying directory contents on page 203.
208 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Chapter 8. Managing the configuration of the appliance
This chapter provide information about managing the configuration of application
domains and importing and exporting configurations.
Note: Unless you click Save Config, the included configuration file will not take
affect when the appliance is started.
Note: You cannot use the SCP or SFTP protocol to retrieve a configuration
package. All other URL protocols are available; for example, HTTP,
HTTPS, or FTP.
7. Select the package format from the Format of Configuration Package list.
ZIP (Default) Indicates that the configuration package is in ZIP format. If
the format is ZIP, the bundle is unzipped automatically.
XML Indicates that the configuration package in XML format.
8. Use the Overwrite Files toggle to control the overwrite behavior.
on (Default) Overwrites files of the same name.
off Does not import the file if a file of the same name exists.
9. Use the Overwrite Objects toggle to control the overwrite behavior.
on (Default) Overwrites objects of the same name.
off Does not import the objects if an objects of the same name exists.
210 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
10. (Optional) Select a deployment policy that preprocesses the configuration
package from the Deployment Policy list. For more information, refer to
Configuring deployment policies on page 222.
11. Use the Local IP Rewrite toggle to indicate whether to rewrite local IP
addresses on import.
on (Default) Rewrites IP addresses to match the local configuration when
imported. For example, a service in the configuration package that
binds to eth1 is rewritten to bind to eth1 when imported.
off Retains the original IP address in the configuration package.
12. Use the Import on Startup toggle to indicate whether to import the
configuration package at startup.
on (Default) Imports the configuration package at startup. The
configuration is marked external and cannot be saved to the startup
configuration. This behavior is equivalent to always importing the
configuration.
off Imports the configuration package when manually triggered. The
configuration is not marked external and can be saved to the startup
configuration. This behavior is equivalent to importing the
configuration one time.
13. Click Apply to save the object to the running configuration.
14. Optionally, click Save Config to save the object to the startup configuration.
Note: The Import Configuration utility requires that the export file resides on your
workstation.
3. Optionally click Download to download the file to your workstation.
4. Click Done to close this window and return to the Control Panel.
The export file can be accessed from the export: directory. If downloaded, the
export file is on your workstation.
Backing up domains
Best practice is to periodically back up all domains individually.
212 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
c. The Export File Name defaults to export (.zip). If a file of this name exists
in the export: directory, it is overwritten.
d. Select the check boxes adjacent to each domain to export.
e. Click Next
When the backup completes, the file is in the export: directory. You can optionally
download the export file to your workstation.
Note: The Import Configuration utility requires that the export file resides on your
workstation.
4. Optionally click Download to download the file to your workstation.
5. Click Done to close this window and return to the Control Panel.
The export file can be accessed from the export: directory. If downloaded, the
export file is on your workstation.
Note: The export does not include private files. These files are in the
cert: and sharedcert: directories.
Export all local files
Exports public files that are associated with the selected objects and
all files that are in the following directories:
v config:
v local:
v pubcert:
v store:
v tasktemplates:
h. From the Objects list, select the type or class of configuration data to
export.
After selecting an entry, all instances of that type or class are listed in the
left-hand box.
1) Select the objects from the left-hand list. To select multiple objects, select
objects in combination with the Shift and Control keys.
2) Click > to move the selected object to the Selected Base Objects list.
i. Adjust the Selected Base Objects list, if necessary.
1) Select objects in the right-hand list. To select multiple objects, select
objects in combination with the Shift and Control keys.
2) Click < to remove the selected objects or click <<to remove all objects
from the Selected Base Objects list.
j. Click Show Contents at any time to display all contents marked for
inclusion in the export.
k. Click Next.
When the backup completes, the file is in the export: directory. You can optionally
download the export file to your workstation.
Note: The Import Configuration utility requires that the export file resides on your
workstation.
4. Optionally click Download to download the file to your workstation.
5. Click Done to close this window and return to the Control Panel.
214 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
The export file can be accessed from the export: directory. If downloaded, the
export file is on your workstation.
Note: The export does not include private files. These files are in the
cert: and sharedcert: directories.
Within each application domain, the administrator who is associated with the
admin account defines the number of configuration checkpoints to allow. You can
save up to the allowed number of configuration checkpoints.
When saved, a ZIP formatted file for the configuration checkpoint is written the
chkpoints: directory for that application domain.
216 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
2. Select the specific application domain to open the domain-specific configuration
screen.
3. Select the Configuration tab.
4. Specify the number of checkpoint configuration to allow in the Configuration
Checkpoint Limit field. Use an integer in the range of 1 through 5. The default
is 3.
5. Click Apply to save the object to the running configuration.
6. Optionally, click Save Config to save the object to the startup configuration.
You cannot overwrite a configuration checkpoint. You must first delete the original
configuration checkpoint before saving a new configuration checkpoint of the same
name. For details, refer to Deleting configuration checkpoints on page 218.
218 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Best practice when the goal is to add, modify or delete values in a configuration
package is to use a Deployment policy while importing the configuration package.
Note: Click Save Config to save the configuration for each domain that
contains imported objects or files.
Note: Warnings can appear on this screen that alert you to a range of possible
conflicts that the imported configuration might cause. Depending on the
warning, you might want to create a new application domain, or you
might want to choose not to overwrite objects or files.
a. Select each item to overwrite. To select all item, click All. To deselect
selected items, click None. Only selected items are imported.
b. Click Import to initiate file transfer.
If more than one domain is being imported, the Import Summary window is
displayed for the next domain to import.
When you compare configurations, the report provides a list of objects that
changed between the two configurations and the changes that were made to these
objects. The report list how the configuration changed:
v An object was added
v An object was deleted
v An object was modified
Comparing configurations
To compare configurations, use the following procedure:
1. Select Administration Configuration Compare Configuration to display
the Configuration Comparison screen.
2. From the From list, select which configuration to be the first configuration
source; and from the To list, select which configuration to be the second
configuration source. The source for each of the configurations can be one of
the following:
Persisted Configuration
The last saved configuration on the appliance. This is the default in the
From list.
Running Configuration
The configuration that is currently running on the appliance. This is the
default in the To list.
Domain Configuration
The last saved or currently running domain configuration on the
appliance.
XML Configuration
The XML file that was created during an export operation. This file has
an .xcfg extension.
Export ZIP Bundle
A ZIP file that was created during an export operation. This file has a .zip
extension.
Backup ZIP Bundle
A ZIP file that was created during backup operation. This file has a .zip
extension.
220 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Checkpoint
A ZIP file that was created through a save checkpoint operation. This file
has a .zip extension and is in the chkpoint: directory.
3. When the source (From or To) is XML Configuration, Export ZIP Bundle, or
Backup ZIP Bundle, specify or browse for and select the configuration file.
Also, create or select a deployment Policy that can be used to accept, filter, or
modify a configuration.
4. When the source (From or To) is Checkpoint, select the checkpoint from the
Checkpoint list.
5. From the View list, select whether the report lists only changed objects between
the configurations or all objects in the configurations. The default is changed
objects only.
6. Click Run Comparison to generate the report.
Reverting changes
After running a comparison and reviewing the results, you can revert select
changes or all changes between the two configurations. You can revert changes at
the property level only. To revert changes to select properties for an object, use the
object-specific configuration screens.
Depending on the clause type, the deployment policy can perform the follow types
configuration management against the imported configuration package:
v Use an accepted configuration to include resources in the package that match
specified criteria.
v Use a filtered configuration to delete resources in the package that match specified
criteria.
v Use a modified configuration to modify resources in the package that match the
specified criteria. Modified configurations support the following actions:
Add Adds the property with the identified value during the import.
Changed
Substitutes the value for the identified property during the import.
Deleted
Deletes the property during the import.
Note: You cannot modify the administrative state of Deployment Policy objects.
222 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
3. Specify the name of the object in the Name field.
4. Specify a descriptive object-specific summary in the Comment field.
5. Define accept clauses.
a. Specify the matching statement in the Accepted Configuration field, or click
Build.
b. Click Add.
Repeat this step to define another accept clause.
6. Define filter clauses.
a. Specify the matching statement in the Filtered Configuration field, or click
Build.
b. Click Add.
Repeat this step to define another filter clause.
7. Define modify clauses on the Modified Configuration tab.
a. Click Add to display the Modified Configuration property window.
b. Specify the matching statement for the modify clause in the Configuration
Match field, or click Build.
c. Select the type of configuration modification from the Modification Type
list.
Add Configuration
Adds a configuration setting.
Delete Configuration
Deletes a configuration setting.
Change Configuration
Changes a configuration setting.
d. If adding a configuration, specify the name of the property to add in the
Configuration Property field.
e. If adding or changing a configuration, specify the value of the property to
add or modify in the Configuration Value field.
f. Click Save to return to the configuration screen.
Repeat this step to define another modify clause.
8. Click Apply to save the object to the running configuration.
9. Optionally, click Save Config to save the object to the startup configuration.
To access the builder, click Build. This button is associated with the following
properties:
v Accepted Configuration on the Main tab
v Filtered Configuration on the Main tab
v Configuration Match in the properties Window that the WebGUI displays after
clicking Add on the Modified Configuration tab
To create a matching statement with the builder, use the following procedure:
1. Click Build to open the builder.
http://www.pcre.org
224 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Chapter 9. Managing monitors
This chapter describes how to create and manage message Web services monitors.
You can create and manage the following types of traffic or error monitors
(message monitors) using the OBJECT Monitoring menu.
Message Count Monitor
Creates a count-based monitor
Message Duration Monitor
Creates a time-based monitor
Message Filter Action
Defines an administrative response to the overuse of resources
Message Matching
Creates a traffic definition
Message Type
Creates a monitored message type
You can create and manage Web services monitors by enabling statistics using the
Administration Device Statistic Settings menu and the configuring the
monitors using the OBJECT Monitoring Web Services Monitor menu.
Monitor types
Monitors enable the definition of a message set, the specification of a count-based
or time-based threshold, and the design of administrative controls imposed when
the message set exceeds configured threshold values.
The initial step in configuring a message monitor is to identify the traffic streams
that are subject to administrative monitoring and control. Identification of a
specific traffic stream is accomplished using a traffic definition object, which is
essentially a template that describes a traffic stream in terms of source IP address,
requested URL, HTTP header field values, and HTTP methods. For procedural
details on creating traffic definitions, refer to Traffic definition on page 227.
You complete the traffic identification process by assigning one or more traffic
definitions to an aggregate object referred to as a message type, which is essentially
a list of traffic definitions. A message type enables a single message monitor to
exercise administrative control over multiple, possibly related, traffic streams. The
same message monitor, for example, could monitor the traffic stream originating
from subnet 10.10.10.0/24 along with the traffic stream originating from the
10.10.1.0/24 subnet. For procedural details on compiling message types, refer to
Message Type on page 229.
After identifying target traffic streams, proceed to define a filter that specifies the
administrative actions to take in response to the overuse of appliance or network
resources by a monitored message type. Policies might be relatively benign (the
simple generation of a logging message), or more stringent, possibly resulting in a
temporary denial of service to the offending message type. You can define
compound policies that activate an initial cautionary response when a message
type exceeds a low threshold value, and activate more stringent sanctions when
the same message type exceeds a higher threshold value For procedural details on
defining monitor policies, refer to Filter action on page 230.
You next create the message monitor object, which consists of a threshold value or
values, an associated message type, and an associated monitor filter. You can create
two types of message monitors.
v A message count monitor, as its name implies, uses an counter to track specific
occurrences. It activates a monitoring filter when the number of occurrences,
over a measured interval, exceeds a threshold value.
For procedural details, refer to Message Count Monitor on page 230.
v A message duration monitor, as its name implies, is clock-based and measures
how long it takes to complete certain transactions. It activates a monitoring filter
when the average completion times exceeds a threshold value.
226 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
For procedural details, refer to Message Duration Monitor on page 233.
Traffic definition
Traffic definitions, which identify raw traffic streams, are the most basic
components used by message monitors. A traffic definition can identify a target
message stream in terms of the following criteria:
v Included IP source address
v Excluded IP source address
v Requested URL
v HTTP method
v Included HTTP header field/value
v Excluded HTTP header field/value
1. Select OBJECT Monitoring Message Matching Navigation bar to display
the catalog.
2. Click Add to display the configuration screen.
3. Provide the following inputs:
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
Comments
Specify a descriptive object-specific summary.
IP Addresses
Specify a contiguous range of IP source addresses included in this
traffic definition.
Leave blank if you do not want to use IP source address as a criterion
for inclusion in this traffic definition. Leaving the field blank includes
traffic from all IP source addresses in the current traffic definition.
Specify an address range by providing an IP network address followed
by a prefix length, inserting a slash (/) between the network address
and the prefix length.
For example, 10.10.100.0/28 specifies the address range 10.10.100.0
through 10.10.100.15, but 10.10.100.9/32 specifies a single host
address.
Excluded IP Addresses
Specify a contiguous range of IP source addresses excluded from this
traffic definition.
Leave blank if you do not want to use IP source address as a criterion
for exclusion from this traffic definition.
Specify an address range by providing an IP network address followed
by a prefix length, inserting a slash (/) between the network address
and the prefix length.
For example, 10.10.100.0/28 specifies the address range 10.10.100.0
through 10.10.100.15, but 10.10.100.9/32 specifies a single host
address.
You can use the HTTP Headers and Excluded HTTP Headers panels to specify
HTTP-based criteria for inclusion to, or exclusion from the traffic definition. You
can:
v Specify HTTP header field and value pairs to be included in the traffic definition
v Specify HTTP header field and value pairs to be excluded from the traffic
definition
4. Use the following procedure to specify HTTP-based inclusion criteria:
a. Click the HTTP Headers tab to display the HTTP Headers panel.
b. Click Add to display the HTTP Headers window.
c. Provide the following inputs:
Name
Specify the name of the target HTTP header field.
Value Match
Specify a set of header field values included in this traffic definition.
Match patterns can contain the following wildcard syntax:
* Indicates a string that matches 0 or more occurrences of any
character.
? Indicates a single character that matches one occurrence of any
single character.
[] Indicates a delimited range of alphabetic or numeric
characters. For example, [1-5] would match 1, 2, 3, 4, or 5,
and [x-y] would match x or y.
228 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
You can use any PCRE-compliant expression. For more information,
refer to http://www.pcre.org.
d. Click Save to return to the HTTP Headers panel, which now displays the
HTTP header inclusive criterion.
5. Use the following procedure to specify HTTP-based exclusion criteria:
a. Click the HTTP Headers tab to display the Excluded HTTP Headers panel.
b. Click Add to display the Excluded HTTP Headers window.
c. Provide the following inputs:
Name Specify the name of the target HTTP header field.
Value Match
Specify a set of header field values excluded from this traffic
definition.
Match patterns can contain the following wildcard syntax:
* Indicates a string that matches 0 or more occurrences of any
character.
? Indicates a single character that matches one occurrence of
any single character.
[] Indicates a delimited range of alphabetic or numeric
characters. For example, [1-5] would match 1, 2, 3, 4, or 5,
and [x-y] would match x or y.
Message Type
A message type is a list of traffic definitions and enables a message monitor to
exercise administrative control over multiple traffic streams. You should assign a
traffic definition to a message type, even if the type consists of a single definition.
1. Select OBJECT Monitoring Message Type to display the catalog.
2. Click Add to display the configuration screen.
3. Provide the following inputs:
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
Comments
Specify a descriptive object-specific summary.
Message Matchings
Add one or more traffic definitions to the message type.
4. Click Apply to save the object to the running configuration.
5. Optionally, click Save Config to save the object to the startup configuration.
230 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
Comments
Specify a descriptive object-specific summary.
Message Type
Select the message type for message count monitor to monitor.
Measure
Select how to increment the counter.
Requests
Indicates that the receipt of a client request of the monitored
message type increments the counter.
Responses
Indicates that the receipt of a server response of the monitored
message type increments the counter.
XPath Indicates that the a style sheet increments the counter. Use the
dp:increment-integer extension element in a style sheet. This
extension element increments the counter that the count
monitor maintains. For example, if the name of the count
monitor is monitor1, the style sheet must contain the following
statement:
<dp:increment-integer name="'/monitor-count/monitor1'"/>
Errors Indicates that the receipt of an HTTP error response increments
the counter. Processing the Error Rule can increment this
counter.
Source
Specify how this message count monitor aggregates IP address
information. This property is only meaningful when the monitored
message type contains inclusive or exclusive IP address criteria.
All Gathers and reports IP address information for the aggregate
address range.
Each IP
Gathers and reports IP address information for individual IP
addresses (up to a maximum of 10000) in the address range.
IP from Header
Gathers and reports IP address information for individual IP
addresses (up to a maximum of 10000) in the address range. IP
addresses are determined by the value of the HTTP Header
identified by the Header property.
Header
Specify the HTTP Header that contains IP address information.
Maximum Distinct Sources
Specify the number of distinct IP addresses to track. When too many
distinct counts are observed, the addresses not observed in the longest
amount of time are discarded. The default is 10000.
4. Click the Threshold/Filters tab to display the Filters panel, which contains the
Filters catalog.
232 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
After creating a monitor, activate it by assigning it to one or more DataPower
services.
These monitors read a WSDL file that defines the Web services to monitor and that
offers the user the ability to configure monitors that are based on the services that
are defined in the WSDL file. The WSDL file must reside on the appliance or be
accessible over the network.
Note: Web services monitors require the activation of statistics on the appliance.
By default, statistics are administratively disabled.
234 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Enabling statistics
To enable statistics, use the following procedure:
1. Select Administration Device Statistics Settings to display the Statistics
Settings Configuration screen.
a. For Admin State, click the enabled radio button.
b. Click Apply.
c. Click Save Config.
236 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
7. Click Apply to save the object to the running configuration.
8. Optionally, click Save Config to save the object to the startup configuration.
Main tab
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive administrative
state, click disabled.
Comments
Specify a descriptive object-specific summary.
Authorized counter
Optionally select a message-count monitor. This object monitors and
controls incoming messages authorized by this AAA Policy. This counter
should Measure type XPath to allow the AAA Policy to increment the
counter on successful authorization. Refer to Message Count Monitor on
page 230 for more information.
Rejected counter
Optionally select a message-count monitor This object monitors and
controls incoming messages rejected by this AAA Policy. This counter
should Measure type XPath to allow the AAA Policy to increment the
counter on rejected authorization. Click Rejected Counter Tool to configure
a counter for this purpose. Refer to Message Count Monitor on page 230
for more information.
SAML Signature Validation Credentials
Optionally (and only if SAML-based identity extraction, authentication,
240 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Note: Log targets capture messages at or above the level configured for
the target. The higher the level, the more likely one or more log
targets will catch the message. To be sure log targets capture these
AAA messages, coordinate these levels.
WS-Trust Encryption Recipient Certificate
When generating a WS-Trust token for a secret key (such as a
WS-SecureConversation token), select the key to encrypt the initial secret.
SAML Artifact Mapping File
This file contains a map of SAML artifact source identifiers to artifact
retrieval endpoints. This property is required only when artifacts will be
retrieved from multiple endpoints and the source identifiers for these
endpoints are encoded in the artifact itself (per the SAML specification). If
there is only one artifact retrieval URL, it can be specified by the SAML
artifact responder URL in the authentication phase.
Ping Identity Compatibility
Select whether to enable (on) or disable (off) Ping Identity compatibility.
Enable Ping Identity compatibility when using SAML for authentication or
authorization.
SAML 2.0 Metadata File
This file contains information about the various SAML Authorities that
might be used for SAML 2.0 authentication and authorization. From the
list, select a file, and click Upload to upload a file.
The file must conform to the SAML 2.0 metadata schema
(xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata").
DoS Flooding-Attack Valve
Specifies the number of times to perform the same XML processing per
user request. Use a value in the range of 1 through 1000. The default is 3.
This property limits the number of times to perform the same XML
processing per user request. XML processing includes encryption,
decryption, message signing, and signature validation. At this time, the
AAA Policy supports this property in the following cases:
v Identity extraction when the method is Subject DN from Certificate in
the Messages signature
v Authentication when the method is Validate the Signer Certificate for a
Digitally Signed Message
When used with the value of 1, the AAA Policy extracts the first signature
and its first reference from the security header and ignores all other
signatures or signing references. If the security header contains more
signatures or a single signature contains more signing references, these
signatures and signing references are ignored. During signature
verification, the processing fails if the needed signature is not part of
extracted identity.
For example if dos-valve is 2 and the needed information to verify the
signature was the third signing reference, the verification would fail.
However if the information was the second signing reference, the
verification would succeed.
LDAP Version
Select the LDAP protocol version (2, the default version, or 3) used when
accessing the authorization server.
Identity tab
The initial processing performed by an AAA Policy consists of extracting
information from an incoming message and its protocol envelope(s) about the
claimed identity of the service requester.
Use the Identity panel to specify the method or methods used by the AAA Policy
to extract the identity claimed by the service requester. Click the Identity tab to
display the AAA Policy Configuration (Identity) screen.
Use the check boxes to enable (on) or disable (off) one or more identification
methods.
HTTPs Authentication header
The claimed identity of the requester is extracted from the HTTP
Authorization header (name and password).
If selected, the WebGUI prompts for the following property:
HTTPs Basic Authentication Realm
The name of the HTTP Basic Authentication Realm as described by
RFC 2617, HTTP Authentication: Basic and Digest Access Authentication.
A browser might display this name to help determine which
credentials to supply.
UserName element from WS-Security header
The claimed identity of the requester is extracted from the WS-Security
UserName element (name and password) contained in a SOAP header.
BinarySecurityToken element from WS-Security header
The claimed identity of the requester is extracted from the WS-Security
BinarySecurityToken element (using the tokens string value as the claimed
identity) contained in a SOAP header.
WS-SecureConversation Identifier
The claimed identity of the requester is extracted from a
WS-SecureConversation Identifier.
WS-Trust Base or Supporting Token
The claimed identity of the requester is extracted from a WS-Trust Base or
Supporting token.
Kerberos AP-REQ from WS-Security header
The claimed identity of the requester is extracted from a Kerberos AP-REQ
contained in the WS-Security header.
242 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Kerberos AP-REQ from SPNEGO token
The claimed identity of the requester is extracted from a Kerberos AP-REQ
contained in the SPNEGO token.
Subject DN of the SSL Client Certificate from the Connection Peer
The claimed identity of the requester is extracted from the SSL client
certificate presented during the SSL handshake. If this is checked, the
Validation Credentials for Signing Certificate appears.
Name from SAML attribute assertion
The claimed identity of the requester is extracted from a SAML assertion that
contains a SAML attribute statement. The name contained in the Subject
element of the attribute statement is used as the claimed identity.
Name from SAML authentication assertion
The claimed identity of the requester is extracted from a SAML assertion that
contains a SAML authentication statement. The name contained in the Subject
element of the authentication statement is used as the claimed identity.
SAML artifact
The claimed identity of the requester is extracted from a SAML artifact.
Client IP address
The clients IP address is used for identity extraction.
Subject DN from the certificate in the messages signature
The claimed identity of the requester is extracted from a certificate used to
validate a digitally-signed message verify the signature validity, if the
signature is valid, use the Subject DN extracted from the certificate associated
with the signature as the claimed identity. If this is checked, the Validation
Credentials for Signing Certificate field is displayed.
If selected, the WebGUI prompts for the following property:
Validation Credentials for Signing Certificate
Select the Validation Credentials List used to validate the presented
certificate. Refer to Defining Identification Credentials objects on
page 15 for more information.
Token extracted from the message
The claimed identity of the requester is extracted using an XPath expression.
If this is checked, the XPath Expression field is displayed. If selected, the
WebGUI prompts for the following property:
XPath expression
Provide the operative XPath expression. The XPath expression is
applied to the entire message.
If you require name spaces in the XPath expression, refer to
Namespace Mapping tab on page 262 for procedural and
configuration details.
Token extracted as Cookie value
The claimed identity of the requester is extracted from a Cookie value. If
selected, the WebGUI prompts for the following property:
Cookie name
Specify the cookie name.
LTPA Token
The claimed identity of the requester is extracted from an LTPA (Lightweight
Third Party Authentication) token value. LTPA tokens, which are opaque
Optionally, click Save Config to save the object to the startup configuration.
Authenticate tab
After extracting the claimed identity of the service requester, an AAA Policy
authenticates the claimed identity. The authentication process can use internal or
external resources. Use the Authenticate panel to designate the authentication
method.
1. Click the Authenticate tab to display the AAA Policy Configuration
(Authenticate) screen.
2. From the Method list, select an authentication method.
Accept a SAML Assertion with a Valid Signature
The requester is authenticated by a SAML assertion with a valid
signature.
Accept an LTPA token
The requester is authenticated by an encrypted LTPA token. If selected,
the WebGUI prompts for the following property values:
LTPA Token Versions
Specifies the LTPA formats supported for authentication purposes.
Use the check boxes to specify the LTPA versions that are
supported for authentication. Select at least one version, or all
LTPA-based authentication will fail.
Because the LTPA token must be decrypted before authentication,
the following properties identify the needed cryptographic
resources.
LTPA Key File
Provide the name of the file that contains the cipher keys to be
used for encryption and decryption.
LTPA Key File Password and Confirm LTPA Key File Password
Provides the cleartext password to the LTPA key file.
Refer to Understanding LTPA for more information.
Bind to Specified LDAP Server
(Default) The requester is authenticated by an LDAP server. If selected,
the WebGUI prompts for the following properties:
Host Specify the IP address or domain name of the LDAP
authentication server.
244 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Port Specify the LDAP authentication server port number. If not
supplied, defaults to the canonical port number.
LDAP Prefix
Optionally specify an LDAP Prefix name. This string is prepended
to the identity extracted before submission to the LDAP server.
The default is cn=.
This property is relevant when the Search for DN is off.
LDAP Suffix
Optionally specify an LDAP Suffix name. This suffix string is
appended to the identity extracted before submission to the LDAP
server. For example, o=datapower.com.
This property is relevant when the Search for DN is off.
LDAP Load Balancer Group
Optionally select a Load Balancer Group. If you select a group,
LDAP queries will be load balanced in accordance with the
settings in the group. Load balancing allows for failover. Refer to
Load Balancer Group on page 287 for more information.
When specified, this property overrides the settings for the Host
and Port properties.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to
remote authentication server. Retain the default value to use a
non-SSL connection.
LDAP Bind DN
Specify the Distinguished Name for the LDAP bind operation.
LDAP Bind Password and Confirm LDAP Bind Password
Specify and confirm the password for the LDAP bind operation.
LDAP Search Attribute
Specify the name of the LDAP attribute that contains the cleartext
password. The default is userPassword.
This property is meaningful only when the identity extraction
method is Password-carrying UsernameToken Element from
WS-Security Header and the <Username> element in the header
has the Type attribute set to PasswordDigest. In this case, the
LDAP server returns the text in the specified LDAP attribute for
the user in the UsernameToken. If the hashed value of the
returned text does not match the value in the <Password> element,
authentication fails.
Search for DN
Indicate whether to perform an LDAP search retrieve the DN of
the user.
on Enables an LDAP search for the users group. The login
name of the user along with the LDAP Search Parameters
will be used as part of an LDAP search to retrieve the
users DN.
off (Default) Disables an LDAP search for the users group.
The login name of the user along with the LDAP prefix
and the LDAP suffix will be used to construct the users
DN.
The following properties are relevant for attaching WS-Policy, not for
AAA authentication.
Require Client Entropy
Indicates whether to require client entropy as key material in the
WS-Trust request.
on Requires client entropy. The DataPower appliance sends
an entropy element to the WS-Trust server as part of the
security token request exchange. Use the WS-Trust
Encryption Certificate property to determine how to
include the key material in the request.
off (Default) Does not require client entropy.
When required, specify the size of the client entropy in bytes in
the Client Entropy Size field. The size refers to the length of the
246 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
client entropy before Base64 encoding. Use an integer in the range
of 8 through 128. The default is 32.
Require Server Entropy
Indicates whether to require server entropy in the WS-Trust
response.
on Requires server entropy. The WS-Trust server must return
an entropy element to the DataPower appliance as part of
the security token request exchange.
off (Default) Does not require server entropy.
When required, specify the minimum allowable size of the
received entropy material in bytes in the Server Entropy Size
field. The size refers to the length of the client entropy before
Base64 encoding. Use an integer in the range of 8 through 128.
The default is 32.
Require RequestSecurityTokenCollection
Indicates whether to generate a WS-Trust RequestSecurityToken or
a WS-Trust RequestSecurityTokenCollection as part of the security
token request exchange.
on Generates a WS-Trust RequestSecurityTokenCollection.
off (Default) Generates a WS-Trust RequestSecurityToken.
Require AppliesTo SOAP Header
Indicates whether to generate a WS-Addressing AppliesTo header
as part of the security token request exchange.
on Generates a WS-Addressing AppliesTo header.
off (Default) Does not generate a WS-Addressing AppliesTo
header.
When required, specify the value for the AppliesTo header in the
AppliesTo Header field.
WS-Trust Encryption Certificate
Optionally select a Crypto Certificate to encrypt WS-Trust
elements in the request. If selected, he public key of the certificate
encrypts the client entropy key material for the recipient. If blank,
the WS-Trust BinarySecret element contains the entropy material.
In this case, use an SSL Proxy Profile to secure the message
exchange with the WS-Trust server.
Contact ClearTrust Server
The requester is authenticated via a ClearTrust server. If selected, the
WebGUI prompts for the following properties:
ClearTrust Server URL
Provide a local or remote URL that locates the authentication
resource.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to
remote authentication server. Retain the default value to use a
non-SSL connection.
Contact Netegrity SiteMinder
The requester is authenticated by a Netegrity server. If selected, the
WebGUI prompts for the following properties:
248 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Use an Established WS-SecureConversation Security Context
The requester is authenticated by a WS-SecureConversation token
contained in the request.
User certificate from BinarySecurityToken
The requester is authenticated by a certificate that is included with a
BinarySecurityToken. If selected, the WebGUI prompts for the following
property:
X.509 BinarySecurityToken Validation Credentials
Select the Validation Credentials to validate the X.509 certificate in
the BinarySecurityToken. Refer to Working with Validation
Credentials objects on page 21 for more information.
Use DataPower AAA Info File
The requester is authenticated by an XML file. If selected, the WebGUI
prompts for the following properties:
AAA Info File URL
Specify the location of the XML file used for authentication
purposes.
To identify a local resource, use the form store:///authfile.xml. To
examine a sample AAA Info file, open store:///authfile.xml.
Use specified RADIUS Server
The requester is authenticated by a RADIUS server.
Validate a Kerberos AP-REQ for the Correct Server Principal
The requester is authenticated via a Kerberos AP-REQ contained in the
WS-Security header. If selected, the WebGUI prompts for the following
properties:
Kerberos principal name
Provide the name part of the server identity. This value is the
server name that is contained in the sname field of the
unencrypted portion of the Kerberos ticket.
Kerberos keytab
Select the Kerberos Keytab File object. This field is required.
Validate the Signer Certificate for a Digitally Signed Message
The signature requires validation. If selected, the WebGUI prompts for the
following properties:
Signature Validation Credentials
Use a Validation Credentials List.
XPath Expression
Use the specified XPath expression.
Validate the SSL Certificate from the Connection Peer
The requester is authenticated via its client SSL credentials. If selected, the
WebGUI prompts for the following property:
SSL Client Validation Credentials
Select the Validation Credentials List used to validate offered
client certificates. Refer to Working with Validation Credentials
objects on page 21 for more information.
If credentials mapping is necessary, use the Map Credentials panel to designate the
mapping method and resource.
1. Click the MapCredentials tab to display the AAA Policy Configuration (Map
Credentials) screen.
2. From the Method list, select a credentials mapping method.
Custom
The authentication credentials are mapped by a custom/proprietary
resource (for example, a style sheet). If selected, the WebGUI prompts
for the following property:
Custom URL
Provide a local or remote URL that locates the mapping
resource.
None Authentication credentials are not mapped.
Credentials from Tivoli Federated Identity Manager
The authentication credentials are mapped by Tivoli Federated Identity
Manager (TFIM). If selected, the WebGUI prompts for the following
property:
250 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
TFIM Configuration
Select an existing TFIM object. Refer to IBM Tivoli Federated
Identity Manager on page 272 for more information.
Credentials from WS-SecureConversation Token
The authentication credentials are mapped via a
WS-SecureConversation exchange.
AAA Info File
The authentication credentials are mapped using an XML file as the
mapping resource. If selected, the WebGUI prompts for the following
property:
AAA Info File URL
Specify the location of the XML file used for authentication
purposes.
To identify a local resource, use the form store:///authfile.xml.
Open store://authfile.xml to examine a sample AAA Info file.
Apply XPath Expression
The authentication credentials are mapped using an XPath expression
as the mapping resource. If selected, the WebGUI prompts for the
following property:
XPath Expression
Specify the operative XPath expression.
3. Click Apply to commit AAA Policy properties.
4. Optionally, click Save Config to save the object to the startup configuration.
Resource tab
After authenticating a client, an AAA policy identifies the specific resource being
requested by that client.
Use the Resource panel to designate the methods used to identify the resource
requested by an authenticated client.
1. Click the Resource tab to display the AAA Policy Configuration (Resource)
screen.
2. Use the check boxes to enable (on) or disable (off) one or more resource
identification methods.
URL sent to back end
The identity of the requested resource is extracted from the (possibly
rewritten) URL sent to the server. The URL can be rewritten by a URL
Rewrite Policy attached to the service or by another processing action
before the AAA Policy.
URL sent by client
The identity of the requested resource is extracted from the original URL
sent by the client. This URL has not been rewritten.
URI of toplevel element in the message
The identity of the requested resource is extracted from the namespace of
the top level application element
Local name of request element
The identity of the requested resource is extracted from the simple name
of the top level application element
If resource identity mapping is necessary, use the Map Resource panel to designate
the mapping method.
1. Click the Map Resource tab to display the AAA Policy Configuration (Map
Resource) screen.
2. From the Method list, select a resource mapping method.
Custom
The identified resource is mapped by a custom/proprietary resource (for
example, a style sheet). If selected, the WebGUI prompts for the following
property:
Custom URL
Provide a local or remote URL that locates the mapping resource.
None
Identified resources are not mapped.
AAA Info File
The identified resource is mapped using an XML file as the mapping
resource. If selected, the WebGUI prompts for the following property:
AAA Info File URL
Specify the location of the XML file used for authentication
purposes.
To identify a local resource, use the form store:///authfile.xml. To
examine a sample AAA info file, open store:///authfile.xml.
Apply XPath Expression
The identified resource is mapped using an XPath expression as the
mapping resource. If selected, the WebGUI prompts for the following
property:
XPath Expression
Specify the operative XPath expression.
3. Click Apply to commit AAA Policy properties.
4. Optionally, click Save Config to save the object to the startup configuration.
252 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Authorize tab
After authenticating a service requester and extracting the identity of the requested
resource, an AAA Policy next authorizes the client, that is, determines if the
authenticated service requester is allowed access to the requested resource. The
authorization process can use internal or external resources. Use the Authorize
panel to designate the authorization method.
1. Click Authorize to display the AAA Policy Configuration (Authorize) screen.
2. From the Method list, select an authentication method.
Allow Any Authenticated Client
Any authenticated used is authorized.
Contact ClearTrust Server
The requester is authorized via a ClearTrust server. If selected, the
WebGUI prompts for the following properties:
ClearTrust Server URL
Specify a local or remote URL that locates the authorization
resource.
SSL Proxy Profile
Select an SSL Proxy Profile to provide a secure connection to remote
authorization server. Retain the default value to use a non-SSL
connection.
Custom Template
The requester is authorized by a custom/proprietary resource (for
example, a style sheet). If selected, the WebGUI prompts for the following
property:
Custom URL
Specify a local or remote URL that locates the authorization
resource.
Check for Membership in an LDAP Group
The requester is authorized by an LDAP server. If selected, the WebGUI
prompts for the following properties:
Host
Specify the IP address or domain name of the LDAP authentication
server.
Port Specify the LDAP authentication server port number. If not
specified, defaults to the canonical port number.
Group DN
Specify the Distinguished Name of the LDAP group.
LDAP Load Balancer Group
Optionally select a Load Balancer Group. If a group is selected,
LDAP queries will be load balanced in accordance with the settings
in the group. Load balancing allows for failover when using LDAP
for authorization.
LDAP Bind DN
Specify the Distinguished Name for the LDAP Bind.
LDAP Bind Password and Confirm Bind Password
Specify and confirm the password for the LDAP Bind.
254 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
z/OS NSS Client Configuration
Select the z/OS NSS Client object that specifies the details for
connecting to the NSS server. Refer to z/OS NSS Client on page
353 for more information.
Default Action
Select the default action to specify the access level to the resource.
The default is r (Read). The value specified by this property can
be programmatically overridden by setting the
var://context/AAA/az-zosnss-operation variable to one of the
valid values.
a (Alter) r (Read)
c (Control) u (Update)
Always Allow
All messages are forwarded to the backend server.
Generate a SAML Attribute Query
The requester is authorized by a SAML attribute query/response
exchange between the DataPower appliance and a SAML server. If
selected, the WebGUI prompts for the following properties:
URL
Specify the location of the SAML server.
SAML Match
Select the minimum authorization criteria.
All Authorization requires the presence of all configured SAML
attributes
All-Values
Authorization requires that all configured attribute names
and values be present in the SAML attribute statement
Any Authorization requires the presence of a single SAML
attribute
Any-Value
Authorization requires that a single configured attribute
name and value be present in the SAML attribute statement
XPath Authorization requires that SAML server responses are
evaluated with an XPath expression
SAML XPath
If SAML Match is XPath, specify the operative XPath expression.
SAML Name Qualifier
Optionally specify the value of the NameQualifier attribute of the
NameIdentifier in the generated SAML query. Some SAML
implementations require this value to be present.
SAML Version
Select the SAML protocol version to use when employing SAML for
authorization. Versions 1.0, 1.1 and 2.0 are supported. The version
selected affects the format of the messages sent to SAML authorities.
256 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
All Authorization requires the presence of all configured SAML
attributes
All-Values
Authorization requires that all configured attribute names
and values be present in the SAML attribute statement
Any Authorization requires the presence of a single SAML
attribute
Any-Value
Authorization requires that a single configured attribute
name and value be present in the SAML attribute statement
XPath Authorization requires that SAML server responses are
evaluated with an XPath expression
SAML XPath
If SAML Match is XPath, specifies the operative XPath expression
Use XACML Authorization Decision
The requester is authorized by an XACML Policy Decision Point (PDP),
which might be configured and located on the DataPower appliance, or
which might reside on a remote network appliance. If selected, the
WebGUI prompts for the following properties:
XACML Version
Select the XACML version (1.0 or 2.0, the default) used for
communications between the PDP and this AAA Policy, acting as an
XACML Policy Enforcement Point (PEP).
PEP Type
Select how the AAA Policy, acting as an XACML PEP, processes the
PDP authorization response.
Base PEP
If the XACML response to the authorization request is
permit, the client is authorized; if the permit response is
accompanied by obligations, the client is authorized only if
the AAA Policy, acting as a PEP, can understand and
discharge the conditions.
If the XACML response to the authorization request is deny,
the client is rejected; if the deny response is accompanied by
obligations, the client is rejected only if the AAA Policy,
acting as a PEP, can understand and discharge the
conditions.
Deny-biased PEP
If the XACML response to the authorization request is
permit, the client is authorized; if the permit response is
accompanied by obligations, the client is authorized only if
the AAA Policy, acting as a PEP, can understand and
discharge the conditions.
Any other XACML response results in the clients rejection.
Permit-biased PEP
If the XACML response to the authorization request is deny,
the client is rejected; if the deny response is accompanied by
258 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Obligation Fulfillment Custom Stylesheet
Specify the custom style sheet to parse any obligation that
accompany an authorization decision that is received from the PEP.
AAA Info File
The requester is authorized by an XML file. If selected, the WebGUI
prompts for the following property:
AAA Info File URL
Specify the location of the XML file used for authorization purposes.
To identify a local resource, use the form store:///authfile.xml. To
example a sample AAA Info file, open store:///authfile.xml.
260 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Allow WS-Trust token renewal
If generation of WS-Trust tokens is enabled, set to on to allow
for the renewal of the WS-Trust token.
Send SAML Logout Message (SAML 2.0 only)
Click on to enable SAML Version 2.0 Single Logout. If selected, the
WebGUI prompts for the following properties:
SAML Logout Message Session Authority
Specify the URL of the SAML authority to which to send the
logout message.
SSL Proxy Profile
Optionally select the SSL Profile to support a secure connection
to the SAML authority.
Add WS-Security UsernameToken
Select whether to enable (on) or disable (off, the default) the inclusion
of a WS-Security UsernameToken in the server-bound message. If
selected, the WebGUI prompts for the following properties:
WS-Security UsernameToken Password Type
Select the password type.
Text The actual password for the user name, the password
hash, or derived password
Digest The digest of the password as specified in Web Services
Security UsernameToken Profile 1.0
Include Password
Select whether to enable (on) or disable (off) the inclusion of
the password in the WS-Security Username Token.
Generate an LTPA Token
Add an LTPA Token to the HTTP headers transmitted to the server. If
selected, the WebGUI prompts for the following properties:
LTPA Token Version
Select the token version/type.
Domino LTPA
Used in Lotus environments
WebSphere Version 1 LTPA
Used in WebSphere environments
WebSphere Version 2 LTPA
(Default), Used in WebSphere environments (introduced
in WebSphere Application Server version 5.1.0.2, for
z/OS, and version 5.1.1, for other platforms)
LTPA Token Expiry
Specify the LTPA token lifetime (the number of seconds from
the cookie creation to its expiration).
LTPA Key File
Specify the name of the file that contains the cipher keys used
for encryption and decryption.
LTPA Key File Password and Confirm LTPA Key File Password
Provide and confirm the cleartext password to the LTPA key
file. Refer to Understanding LTPA for more information.
Use the Namespace Mapping panel to provide namespace mappings that might be
required by XPath expressions.
1. Click the Namespace Mapping tab to display the AAA Policy Configuration
(Namespace Mapping).
2. Click Add to display the Namespace Mapping Property window.
3. Provide the following inputs:
Prefix Specify the namespace prefix.
URI Specify the namespace URI.
4. Click Save to return to the AAA Policy Configuration (Namespace Mapping).
5. Click Apply to commit AAA Policy properties.
6. Optionally, click Save Config to save the object to the startup configuration.
262 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SAML Attributes tab
Use the SAML Attributes panel to provide SAML attribute namespace data. These
attribute name mappings and attribute values can be used for authentication and
authorization.
1. Click the SAML Attributes tab to display the AAA Policy Configuration
(SAML Attributes).
2. Click Add to display the SAML Attributes Property window.
3. Provide the following inputs:
Namespace URI
Specify the attribute namespace URI.
Local Name
Specify the attribute name.
Attribute Value
Specify the appropriate value.
4. Click Save to return to the AAA Policy Configuration (SAML Attributes).
5. Click Apply to commit AAA Policy properties.
6. Optionally, click Save Config to save the object to the startup configuration.
Note: You might need to use the multistep probe to determine the string for
the mapped credential.
2. Select the priority of the transaction from the Transaction Priority list. The
default is Normal.
3. Select whether to require authorization with the Require Authorization toggle.
The default is off.
4. Click Save to return to the catalog.
264 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Adding LTPA user attributes
To add name-value pairs to the LTPA token, use the following procedure:
1. Click LTPA User Attributes to display the catalog.
2. Click Add to display the LTPA User Attributes window.
3. Provide the following inputs:
LTPA User Attribute Name
Specify the name of the attribute.
LTPA User Attribute Type
Select the type of attribute.
Static (Default) Use the explicitly assigned value.
XPath Use an XPath expression to set the value dynamically. If
selected, the expression is evaluated against the input context of
the AAA action with the result of the evaluation assigned as
the value portion of the name-value pair at runtime.
LTPA User Attribute Static Value
Meaningful only when the type is Static. The explicit value of the
attribute.
LTPA User Attribute XPath Value
Meaningful only when the type is XPath. The XPath expression used to
extract a value dynamically.
For assistance in creating the XPath expression, click XPath Tool. This
tool allows you to load an XML document and build the expression by
selecting the desired node.
If the defined expression contains namespace elements, click XPath
Binding to provide namespace/prefix data. Refer to Setting
namespace mappings (XPath bindings) on page 264 for more
information.
The AAA Info XML file has the following basic structure, which mirrors the steps
of an AAA Policy. The following is a reproduction of the AAAInfo.xsd file in the
store: directory.
<xsd:element name="Authenticate" type="tns:AuthenticateType"
maxOccurs="unbounded">
</xsd:element>
<xsd:element name="MapCredentials" type="tns:MapCredentialsType"
maxOccurs="unbounded">
</xsd:element>
<xsd:element name="MapResource" type="tns:MapResourceType"
maxOccurs="unbounded">
Note: Any given XML File could be used for one or more of these operations.
Only the part of the file that supports the desired operation needs to be
completed. For example, if the file is only used for Map Credentials, it does
not need to include an Authenticate, Map Resource, or Authorize section.
The schema for an AAA Info file uses the AAAInfo.xsd file in the store: directory.
One or more XML files could be used for these operations. In each case, the field
that offers the ability to select an XML file has the + and ... buttons. These buttons
allow for the creation of a new XML file or the editing of an existing XML file,
respectively. Clicking either of these buttons launches the AAA Info File Editor.
Refer to AAA Info File editor on page 267 for more information.
Note: The AAA Info file can be edited outside of the AAA Info File Editor and
uploaded to the appliance.
These resource inputs map to Resource Extraction methods used by the AAA
Policy. The input resource name can be matched by a PCRE regular expression.
266 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Authorize element: The Authorize element takes in a Credential and a Resource
and returns an access status (allow or deny). Both the Credential and the Resource
can be matched by a PCRE regular expression.
At any point, click Cancel to abandon all changes and close the file editor.
Click Next if this file will not be used for authentication. Click Add to create new
identities that this file can authenticate. A new window opens with a form for
adding identities.
Host Name or IP Address
The host name or IP address of the client that submitted the message. The
IP address takes dotted decimal form w.x.y.z. The entry 0.0.0.0 (or 0) is
not allowed.
v Use this field only when the identity extraction method is set to Client
IP address.
v If this field is used, you cannot use the IP Network field.
IP Network
The IP network of the client that submitted the message. This entry takes
the form x.y.z.a/b (for example 192.168.2.25/24).
v Use this field only when the identity extraction method is set to Client
IP address.
v If this field is used, you cannot use the Host Name or IP Address field.
User name
The user name extracted from the message. User names can be extracted
from messages in a number of ways, including HTTP Basic Authentication,
WS-Security UserName, and Name from SAML headers. If those AAA
Policy identity extraction methods are not used, do not use this field.
Password
The password extracted from the message. Passwords can be extracted
from messages by HTTP Basic Authentication and WS-Security UserName.
All of the fields that contain information must be matched for the authentication to
succeed. If the identity extraction method returns only a user name (such as with
SAML) and the Authenticate Identity entry contains both user name and password,
authentication will fail. The AAA policy, however, tests an extracted identity
against all entries in the order in which they are listed, stopping after it finds a
complete match. It is possible to create one entry for user name Bob that also has a
password of foo and another with no password entry. Should the extraction
method only retrieve the user name and not the password, Bob will still
authenticate.
Map credentials: The Map Credentials page presents a list of all credential maps
contained in the file. When creating a new file, this list is empty.
Click Next to move to the next page if this file will not be used for mapping
credentials. Click Add to create a new credential map.
Input Credential
The credential input to the mapping. This field accepts PCRE expressions,
allowing a single expression to match more than one input credential.
Entering foo causes the AAA policy to match all input credentials that
contain the string foo.
Credential Name
The credential to output in place of the input credential. This is the value
to which the input credential is mapped. This is not a regular expression.
Click Submit to add the new map to the list of maps. Create as many mapping
entries as needed by clicking Add for each new entry.
Note: If this file is used for mapping credentials, any input credential that does
not match a map is converted to a blank credential for the purposes of
authorization.
Map resources: The Map Resource page presents a list of all resource mappings
contained in the file. Resource mapping is used to map the resource identifier
extracted from the message to something else. If the AAA Policy uses more than
one resource extraction method, all methods will be executed.
268 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Click Next if this file will not be used for resource identity mapping. Click Add to
create a new map.
Original URL
The URL sent by the client submitting the message. This is a PCRE
expression.
Target URL
The URL used to send the message to the back end server, after the
firewall URL Rewrite Policy has executed. This is a PCRE expression.
Request URI
The Namespace URI of the action or method requested in the body of the
SOAP message. This is identified as the topmost element in the SOAP:Body
element.
Request Operation
The name of the operation requested in the body of the SOAP message.
HTTP Method
Select the desired method. Select any to allow any method.
Result of XPath Expression
Any value that is extracted from the message by an XPath expression. This
is a PCRE expression.
Resource
The resource string to which the input resource is mapped. This field is
required.
Note: If this file is used for mapping resources, any resource that does not mapped
by the file will be converted to a blank resource for the purposes of
authorization.
If this file is not used for authorization, click Next. To create an authorization entry,
click Add.
Credential
The credential to match for authorization. This field accepts PCRE
expressions.
Resource
The resource to match for authorization. This field accepts PCRE
expressions.
Access
Select allow or deny as the authorization result.
Note: When this file is used for authorization, access is denied by default. Any
unmatched entries result in denied access. Access is allowed only if a match
is found and the Access for that match is allow.
File Information: The file information page provides a means to name the file
and add a comment if desired.
Note: Integration with TAM requires the presence of a license on the DataPower
appliance.
An AAA Policy object can use TAM for both authentication and authorization. The
AAA policy will not succeed with TAM without first configuring an instance of the
TAM object with at least one authorization server replica.
Although native TAM supports both local and remote clients, the appliance
supports only remote client operations. The TAM configuration supports only one
policy server and supports only LDAP directories. Although the configuration files
allow specifications for Microsoft Active Directory and Lotus Domino, the
appliance does not support these directory servers.
The following files are needed to create the TAM object or are created using the
appliance:
v The ASCII version of the configuration file (.conf extension)
v The obfuscated version of the configuration file (.conf.obf extension) using the
same file name as the ASCII version
v The TAM SSL key file (.kdb extension)
v The TAM SSL stash file (.sth extension)
270 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Notes:
v If you use the native TAM configuration utilities to create the
configuration files, you might need to modify them before creating the
TAM object.
v During the creation of TAM object, you might need to upload the SSL
key file for the LDAP server (.kdb extension). When using secure
communication, ensure that this file is on the workstation.
Modifying native TAM configuration files: When the configuration files are
generated by the native TAM utilities, you might need to make the following
modifications:
v Unless the LDAP key stash file is uploaded to the appliance, modify the TAM
configuration file by defining the ssl-keyfile-pwd entry in the [ldap] stanza.
v The TAM object needs at least one authorization server replica. You can create
authorization server replicas during the creation of the TAM object, or you can
define replica entries in the [manager] stanza. When defined in the
configuration file, the replicas are not shown in the Authorization Server Replica
catalog.
v Ensure that the obfuscated version of the configuration file is on the workstation
and is the same name as the ASCII version. If not the same name, ensure that
the file entry in the [configuration-database] stanza defines the location of
the obfuscated version of the configuration file on the appliance.
The ASCII version and the obfuscated version of the TAM configuration files are
stored in the local: directory. The key file and the stash file that TAM uses are
stored in the cert: directory. If you set the Create File Copies to Download
property to on, copies of the key file and the stash file are stored in the temporary:
directory.
Refreshing certificates
Refreshing Tivoli Access Manager (TAM) certificates first refreshes the password of
the keystore associated with the TAM object and then refreshes the client certificate
in the keystore with the configured TAM server. The clients associated with this
configuration and any other configuration which use the same keystore will be
stopped if running and restarted when the refresh is complete.
To refresh certificates:
1. Select Administration Miscellaneous IBM Tivoli Access Manager Tools to
display the action screen.
2. Click the Refresh Tivoli Access Manager Client Certificate tab.
3. Define the operational properties. Refer to the online help for details.
4. Click Refresh Tivoli Access Manager Client Certificate.
5. Follow the prompts.
When integrating with TFIM, the provided input credentials must be able to be
expressed in the request token format for the TFIM endpoint. For example, a
WS-Security Username token as the request token cannot be created when the
available user credential is an X.509 certificate.
272 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Note: Selecting Version 6.2 as the compatibility mode will cause the TFIM
client/endpoint to generate WS-Trust messages using version 1.3 of
the WS-Trust specification. In this case, trust chains in the TFIM 6.2
server must use the Validate OASIS URI as the Request Type. To use
WS-Trust version 1.2 messages with a TFIM 6.2 server, select TFIM 6.1
as the compatibility mode. If the 6.1 compatibility mode is selected,
TFIM 6.2 will behave the same as TFIM 6.1.
Version 6.0
Indicates Tivoli Federated Identity Manager, version 6.0.
Version 6.1
(Default) Indicates Tivoli Federated Identity Manager, version 6.1.
Version 6.2
Indicates Tivoli Federated Identity Manager, version 6.2.
g. Select the format of the request token from the Request Token Format list.
The available formats depend on the selected value for Compatibility
Mode.
v If Version 6.0, the following formats are available:
Custom
Indicates a custom style sheet for generating the TFIM request.
When selected, requires the specification of a Custom Request.
SAML 1.0
Indicates a SAML Assertion 1.0.
SAML 1.1
Indicates a SAML Assertion 1.1.
Username Token
(Default) Indicates a WS-Security Username Token Type.
v If Version 6.1 or Version 6.2, the following formats are available:
Binary Security Token
Indicates a WS-Security BinarySecurityToken.
Custom
Indicates a custom token. When selected, requires the
specification of a Custom Request.
Custom Token
Indicates a custom token.
SAML 1.0
Indicates a SAML Assertion 1.0.
SAML 1.1
Indicates a SAML Assertion 1.1.
SAML 2.0
Indicates a SAML Assertion 2.0.
Kerberos Token
Indicates a WS-Security Kerberos Token.
Username Token
(Default) Indicates a WS-Security Username Token Type.
X.509 Token
Indicates a WS-Security X.509 Token.
274 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
The Kerberos authentication protocol uses a star topology. The Key Distribution
Center (KDC) is at the center of the star. Each Kerberos principal (a human, a
computer client, or an instance of a service running a specific computer) is
registered with the KDC and has a shared secret known only to the principal and
to the KDC. This shared secret takes the form of a password for human principals
and a randomly generated keytab file for nonhuman principals.
When a Kerberos client (for example, Alice) wants to communicate securely with a
Kerberos server (for example, the FTP service), Alice must access KDC of her
Kerberos realm and request a ticket for the FTP service. At this point, the KDC has
the option of requiring pre-authentication before responding, or the KDC can
immediately issue the ticket to Alice.
The ticket is encrypted with the shared secret of the FTP service principal.
Consequently, there are two encrypted copies of the session key (one for Alice, and
one for the FTP service).
At this point, Alice uses her shared secret to decrypt her copy of the session key
and generates an authenticator (which proves that the person talking to the FTP
service is the client for which this ticket was issued, and not a malicious user
replaying a previously issued ticket) that she sends along with her ticket to the
FTP service. The ticket plus authenticator is called an AP-REQ message.
When the FTP service receives the AP-REQ from Alice, it decrypts the ticket and
verifies the authenticator. At this point the FTP server has authenticated Alice, and
they share a session key which can be used to secure the rest of their
communications.
276 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
1. Select Objects Crypto Kerberos Keytab to display the Kerberos Keytab
catalog.
2. Click Add to display the Kerberos Keytab Configuration screen.
3. Provide the following inputs:
Name
Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive administrative
state, click disabled.
Comments
Specify a descriptive object-specific summary.
File Name
Select the keytab file. This list includes files that are stored in the
encrypted and protected cert: directory of the appliance. If the file does
not reside on the appliance, click Upload or Fetch to transfer the file.
Use the following procedure to configure an XACML Policy Decision Point (PDP).
1. Select Objects Access XACML Policy Decision Point to display the
XACML Policy Decision Point catalog.
2. Click Add to display the XACML Policy Decision Point Configuration screen.
a. Use the Name field to specify the name of this XACML PDP.
b. Retain the default setting for the Admin State toggle. To place the object in
an inactive administrative state, click disabled.
c. Specify a descriptive object-specific summary in the Comment field.
d. Use the Evaluate Individual Policies Equally toggle to signal the presence
of a comprehensive top-level XACML policy-set.
on Indicates the presence of multiple XACML policy-sets, each of
which will be used in the authorization decision
off (Default) Indicates the presence of a top-level XACML policy-set
that is specified by the General Policy File property
In the event of multiple authorization matches, a policy combining
algorithm, which defines a procedure for arriving at an authorization
decision given the individual results of evaluation by a set of policies, is
employed to render the final decision.
278 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Policy sets can be local or remote to the appliance; use local or standard
URLs to locate files.
h. Optionally, use the Other Policy Files from Directory field with the Add
and Delete buttons to construct a list of local directories that contain
dependent files.
All files in noted directories with a .xml or .xacml extension are considered
as potentially available to the current XACML PDP.
i. Use the XACML Policies Cache Lifetime field to specify the policy
combining algorithm used by this XACML PDP. Specify an integer (in the
range from 0 to 2,678,400) that specifies the time, in seconds, that compiled
XACML policies are maintained in the PDP cache. The default value of 0
specifies that the cache is never expired.
There are several ways for users to control the XACML PDP policy caches.
Explicitly clear the cache
Use the clear pdp cache CLI command to clear the cache.
Specify the TTL for the PDP
During PDP configuration, use the WebGUI or CLI to specify a cache
lifetime.
Use the XML Manager
When the PDP is used by an AAA policy for authorization, users can
access the XML manager that is associated with the AAA policy with
the clear xsl cache CLI command. This command also clears the
compiled XACML policies that are referenced by AAA polices that
are supported by the XML manager.
Use a URL Refresh Policy
Use a URL Refresh Policy whose conditions match the internal URL
xacmlpolicy:///pdpName to perform periodic cache refreshes.
v When TTL for the PDP is 0 (cache never expires), the URL Refresh
Policy controls cache refresh
v When the URL Refresh Policy is no-cache, XACML policies are
never cached, regardless of any assigned TTL value
v When the URL Refresh Policy is protocol-specified, the TTL
setting for the PDP will govern cache refresh unless its value is 0
v When the URL Refresh Policy is default with a refresh interval,
the TTL for the PDP is ignored and the URL Refresh Policy refresh
interval controls cache refresh
v When the URL Refresh Policy is no-flush with a refresh interval,
the greater of the URL Refresh Policy refresh interval or the TTL
for the PDP controls cache refresh
3. Click Apply to save the object to the running configuration.
4. Optionally, click Save Config to save the object to the startup configuration.
Conformance Policy
A Conformance Policy defines which profiles to use to validate whether received
messages are in conformance to the selected profiles. A Conformance Policy
supports the following profiles:
v Web Services Interoperability (WS-I) Basic Profile, version 1.0, at
http://www.ws-i.org/Profiles/BasicProfile-1.0.html
v WS-I Basic Profile, version 1.1, at http://www.ws-i.org/Profiles/BasicProfile-
1.1.html
You can define whether all the requirements in a profile should be a conformance
check, or you can determine which requirements in a profile can be ignored. You
can also change conformance policy behavior by defining a distinct set of logging
and rejection parameters for responses or requests.
280 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
BSP1.0
Indicates WS-I Basic Security Profile, version 1.0
AP1.0
Indicates WS-I Attachment Profile, version 1.0
reqid
Specifies the identifier of the requirement in that profile. This identifier
follows the naming convention in the profile documentation.
To specify requirement R4221 in the WS-I Basic Security Profile, version 1.0,
add BSP1.0:R4221 to the list.
8. Use the Corrective Stylesheets controls to specify which style sheets to invoke
after conformance analysis. These style sheets can transform the analysis
results to repair instances of nonconformance. Corrective style sheets cannot
be applied to filter actions.
9. Select the degree of nonconformance to cause a conformance report to be
recorded from the Record Report list.
Never (Default) Never records conformance reports.
Failure
Records conformance reports that indicate conformance failures.
Warning
Records conformance reports that indicate conformance warnings or
conformance failures.
Always
Always records conformance reports.
10. For all nonconformance reporting levels except Never, specify the target URL
to which to send conformance reports in the Destination field.
11. Select the degree of nonconformance to cause the message to be rejected from
the Reject non-conforming messages list.
Never (Default) Never rejects messages.
Failure
Rejects messages with conformance failures.
Warning
Rejects messages with conformance warnings or with conformance
failures.
12. Use the Include error summary toggle to determine whether to include the
summary for the conformance analysis in the rejection message for requests.
This option is for all nonconformance rejection levels except Never.
on Includes the summary.
off (Default) Does not includes the summary.
13. Use the Use analysis as results toggle to determine whether to deliver a
conformance analysis.
on Delivers a conformance analysis as a results action.
off (Default) Does not deliver a conformance analysis as a results action.
14. Use the Distinct response behavior toggle to determine whether to define a
distinct set of logging and rejection parameters for responses or requests.
on Allows the definition of a distinct set of logging and rejection
parameters.
282 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Operation
Select the cryptographic action for this rule.
Decrypt
Specifies that this rule decrypts elements
Encrypt
Specifies that this rule encrypts elements
Encrypt (WS-Security)
Specifies that this rule uses the Web Services Security
Specification to encrypt elements
Sign (WS-Security)
Specifies that this rule uses the Web Services Security
Specification to sign elements
XPath Expression
Add XPath expressions to this rule. The XPath expression defines one
or more document elements subject to this rule. These are the
encrypted elements, not the unencrypted elements.
Click XPath Tool to use the graphically oriented XPath tool to construct
these expressions. You will need to upload an example of an encrypted
document to use this tool. Then you can simply click on the encrypted
elements to decrypt. The XPath expression is constructed automatically.
IMS Connect
An IMS Connect object handles IMS protocol communications from the
Multi-Protocol Gateway to IMS applications. This object contains settings that
affect the behavior of the connection.
284 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
3. Specify the name of the object in the Name field.
4. Retain the default setting for the Admin State toggle. To place the object in an
inactive administrative state, click disabled.
5. Specify a descriptive object-specific summary in the Comment field.
6. Specify the host name or IP address of the remote IMS Connect server in the
Host field.
7. Specify the port that the IMS Connect server monitors in the Port field.
8. Use the EBCDIC Header Conversion toggle to control EBCDIC header
conversion. Conversion affects only the header, not the payload. To convert
the payload, use a transformation in a processing policy. The user message
exit should be able to process EBCDIC data. Some use message exits can
handle both UTF-8 and EBCDIC.
on Converts IMS headers to EBCDIC.
off (Default) Does not convert IMS headers to EBCDIC.
9. Specify the two-letter prefix for the generated client ID in the Generate Client
ID Prefix field. If not specified, the prefix is set to DP.
10. Override default IMS Connect configuration value. All the properties on the
Default Headers tab are default values. Some of them can be overridden in
the URL, and others through header injection.
a. Click the Default Headers tab.
b. Specify the exit program to use for all IMS connections in the Exit
Program field.
c. Specify the name of the IMS client identifier in the Client ID field. If
blank, the user exit must generate it.
d. Specify the transaction code to invoke in the Transaction Code field. This
value can be overridden by specifying it in the backend URL. Refer to
Building an IMS Connect URL on page 52 for more information.
e. Specify the name of the data store (IMS destination ID) in the Data Store
field. This property must be specified by the client. The IMS Connect
returns the data store name from the exit in the OMUSR_DESTID OTMA
header field. This value can be overridden by specifying it in the backend
URL. Refer to Building an IMS Connect URL on page 52 for more
information.
f. Specify an override value in the Logical Terminal Name field. OTMA
places this value in the IOPCB field. If you do not specify an override value,
OTMA places the IMS Connect-defined TPIPE name in the IOPCB field. The
TPIPE name is set to one of the following values based on the commit
mode:
v If the commit mode is 0, sets the value to the client identifier (CLIENT
ID).
v If the commit mode is 1, sets the value to the port identifier (PORT ID.
If you use the LTERM value in the IOPCB to make logic decisions, be aware
of the naming conventions of the IOPCB LTERM name.
Note: For IMS host applications, the value for this property is set by the
user message exit. The user exit message either moves this value to
the OMHDRLTM OTMA field or sets OMHDRLTM with a predetermined
value.
g. Specify the plaintext string sent to the server to identify the client in the
RACF ID field.
You need to add a prefix and optionally add a suffix to create the LDAP filter. The
prefix and suffix are constructs of the LDAP filter expression, as defined in LDAP:
String Representations of Search Filters. This filter is used to perform the LDAP
search and return matching entries.
286 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
8. Specify the prefix of the LDAP filter expression in the LDAP Filter Prefix
field.
If the prefix is mail= and the user name is bob@example.com, the LDAP search
filter would be mail=bob@example.com.
9. Optionally specify the suffix of the LDAP filter expression in the LDAP Filter
Suffix field.
If the prefix is mail=, the suffix is )(c=US)), and the user name is
bob@example.com, the LDAP search filter would be
(&(mail=bob@example.com)(c=US)).
10. Select the depth of the search from the LDAP Scope list:
Base Searches the entry level of the tree only.
One level
Searches the entry level of the tree and any object that is one-level
below the input.
Subtree
(Default) Search the entry level of the tree and all of its descendents.
11. Click Apply to save the object to the running configuration.
12. Optionally, click Save Config to save the object to the startup configuration.
Healthy
By default, all servers are considered healthy and are eligible to receive forwarded
client requests. When healthy, the health state is up.
Quarantined
During a normal HTTP transaction or the TCP ping, a failure to connect to a server
causes the server to be quarantined until a dampening period elapses. When the
dampening period elapses, the server returns to the healthy state and becomes
eligible to receive forwarded client requests. When quarantined, the health state is
softdown.
Where:
group The name of the Load Balancer Group
server The IP address or host name of the member
port The port of the member
state The state of the server, which is one of the following values:
v up
v down
v softdown
Refer to Health of member servers on page 287 for details.
290 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Defining health checks
A health check is essentially a scheduled rule that sends the same request to each
server member. The successful completion of the health check requires that the
server passes normal TCP and HTTP connection criteria. Optionally, the health
check contains a filter to test the response from the server. If the filter accepts the
response, the server is considered to be healthy; otherwise, it is considered to be
convalescent.
Matching Rule
Matching Rule objects support the implementation of processing policies and XML
manager-based schema validation rules. Both use a Matching Rule to determine if
a candidate XML document is subject to a particular processing or validation
action in a processing policy.
A Matching Rule contains one or more match expressions. Match expressions are
of the following types:
v Error code expressions define an error set that is subject to a specific error-rule.
As error codes are written as hexadecimal integers, the error code expression
matches one or more hexadecimal integers.
v HTTP expressions work with a specified HTTP header to define a group of
HTTP headers. An HTTP expression can define, for example, an HTTP header
that contains a specific header field or an HTTP header that contains a defined
value in a specific header field.
v URL expressions define a group of URLs. For example, a URL expression could
define all URLs or only URLs that contain a specific domain name.
v XPath expressions define content in the XML document. For example, an XPath
expression could define all attributes of a specific name.
292 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Note: Candidate documents are evaluated against all match expressions in the
Matching Rule. A document matches the rule only if it conforms to all
expressions in the rule. Documents that fail to match all expressions do not
match the rule.
Click Add to display the Configure Multi-Protocol Gateway screen. Use this screen
to specify basic operations.
Main tab
Provide the following inputs:
Name Specify the name of this Gateway.
Admin State
Retain the default setting. To place the object in an inactive administrative
state, click disabled.
Comments
Specify a descriptive object-specific summary.
Front Side Protocol
Select an existing Front Side Handler and click Add. Front Side Handlers
determine the network communication protocol, address, port, and other
protocol-specific settings. Refer to Chapter 4, Configuring handler
objects, on page 57 for more information.
Note: To use a Raw XML Front Side Handler, Type must be Dynamic
Backend.
XML Manager
Select an XML Manager. Refer to XML Manager on page 352 for more
information.
294 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Backend URL
If Type is Static Backend, specify the URL of the backend server.
The URL determines the protocol and endpoint of the backend server. To
use a load balancer, specify the name of an existing Load Balancer Group
instead of the address-port pair in the URL.
For example, the service uses the HTTP protocol for a URL that starts with
http:// but uses the MQ protocol for a URL that start with dpmq://. To
construct an MQ URL, use the builder.
Propagate URI
Control the behavior of URI propagation: on (default) or off.
If the backend URL is in an MQ, TIBCO EMS, or WebSphere JMS format,
disable URI propagation (set to off).
Enabling URI propagation is meaningful in the following situations only:
v When the service is configured to use a static backend.
v When the service is configured to use a dynamic backend and dynamic
routing is set with a route with style sheet (route-action) action in the
processing policy. In this case, use the dp:set-target() extension
element to define that target backend server.
For the other dynamic routing options that are available with the
route-action and route-set actions, the URI is absolute.
When enabled, the service rewrites the URI of the backend URL to the URI
in the client request. If URI propagation is enabled and the client submits
http://host/service and the backend URL is http://server/listener, the
URL is rewritten to http://server/service.
Notes:
v When enabled, any Matching Rule in a response processing rule
must match the rewritten URL.
v Any action in the Processing Policy can change the URI that is
sent to the backend server. The rewritten URI could override the
intended effect of this setting.
Load Balancer Hash Header
Specify the name of the HTTP header to use for calculating the hash for
load balancing traffic to the backend servers.
v When defined, the hash algorithm uses the value of the identified HTTP
header.
v When not defined, the hash algorithm uses the IP address of the client.
This property is relevant only when the value defined by the algorithm for
the Load Balancer Group is hash.
Processing Policy
Select a Processing Policy. Refer to Processing Policy on page 323 for
more information.
Type Select the proxy type.
Dynamic Backend
Specifies support for multiple backend servers. Server addresses
and port numbers are extracted from incoming client requests.
296 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Response attachment processing mode
When the response type is SOAP or XML, select how to process server
responses with attachments.
Allow Processes the message root and needed XML and non-XML
attachments. Needed attachments are buffered. Attachments that
are not needed might be streamed directly to output.
Reject Rejects messages that contain attachments.
Strip (Default) Removes attachments from the message and changes the
value of the Content-Type header to that of the root part.
Streaming
Provides limited processing of XML attachments, and streams XML
and non-XML attachments to output.
Unprocessed
Allows messages that contain attachments, but does not process
attachments.
For additional information about streaming attachments, refer to
Optimizing through Streaming.
Action when required root part is not first
When the attachment processing mode for requests or for responses is
Streaming, select the action to take when the MIME message root part is
not first.
Abort Stops the transaction and return an error.
Buffer To Root
Buffers attachments before the root part into memory. Then
processes the root part, buffered attachments, and subsequent
attachments.
Process In Order
(Default) Processes the attachments and root part in the order that
they appear in the original message. All parts are still processed in
streaming mode even though only attachments after the root will
be streamed from the network.
Front attachment processing format
Select how to interpret client requests with attachments.
Dynamic
(Default) The appliance reads the message and determines the
attachment format (DIME or MIME) from the content-type header.
Conversion between MIME and DIME is possible provided that
attachments are buffered.
MIME Messages adhere to the MIME format. Conversion to DIME is
possible provided that attachments are buffered.
DIME Messages adhere to the DIME format. Conversion to MIME is
possible provided that attachments are buffered.
Detect The appliance reads the message and determines the attachment
format (DIME or MIME) from message data. Conversion between
MIME and DIME is possible provided that attachments are
buffered.
Back attachment processing format
Select how to interpret server responses with attachments.
298 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
MIME support is enabled by default.
Stream Output to Back
Select the desired streaming behavior.
Buffer Messages
Buffers submitted messages until all processing is verified as
complete. After verification, forward the message to the
appropriate backend.
Stream Messages
Begins to send the message to the backend before all processing is
complete. This behavior potentially increases processing speed.
Select this option when the selected XML Manager has streaming
enabled or when streaming of attachments is enabled.
Stream Output to Front
Select the desired streaming behavior.
Buffer Messages
Buffers submitted messages until all processing is verified as
complete. After verification, forward the message to the
appropriate requesting client.
Stream Messages
Begins to send the message to the requesting client all processing is
complete. This behavior potentially increases processing speed.
Select this option when the selected XML Manager has streaming
enabled or when streaming of attachments is enabled.
Characterize Client Traffic Type
Characterize the client-generated request.
Non-XML
Does not directly characterize the message. The message body is
not filtered or transformed. The service can take other actions, such
as determining a route or authenticating the message, before
passing it to the backend.
SOAP Identifies the message as a SOAP message.
Pass-Thru
Does not directly characterize the message, but indicates that the
message is not filtered or transformed by the service. The message
is passed as is to its target.
XML Identifies the message as unencapsulated XML.
Characterize Server Traffic Type
Characterize the server-generated response.
Non-XML
Does not directly characterize the message. The message body is
not filtered or transformed. The service can take other actions, such
as determining a route or authenticating the message, before
passing it to the backend.
SOAP Identifies the message as a SOAP message.
Pass-Thru
Does not directly characterize the message, but indicates that the
message is not filtered or transformed by the service. The message
is passed as is to its target.
300 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
request queue. If needed, the appliance will buffer messages that
complete request rule processing out of order and only deliver
messages to the backend request queue in the same order that they
were pulled from the frontend request queue.
Response rule in order
Enforces serial processing of messages for actions in the response
rule. The appliance initiates and completes response rule
processing for messages in the order that they were pulled from
the backend reply queue. The appliance starts the response rule for
the second message in the reply queue only after it completes the
processing of the first message. The appliance always buffers
messages so that it sends messages to the frontend reply queue in
the same order that they were pulled from the backend reply
queue.
Monitors tab
Service Monitors
Optionally use the list with the Add and Delete buttons to assign one or
more Service Monitors to this Gateway. Refer to configureSLMTask for more
information.
Count Monitors
Optionally use the list with the Add and Delete buttons to assign one or
more Message-Count Monitors to this Gateway. Refer to
countMonitorsObject for more information.
Duration Monitors
Optionally use the list with the Add and Delete buttons to assign one or
more Message-Duration Monitors to this Gateway. Refer to
durationMonitorsObject for more information.
Monitors Evaluation Method
When a service uses more than one monitor, it is possible to determine
how the monitors interact with each other. Select one of the following:
Terminate at First Throttle
(Default) Allows all monitors to take effect on a message until a
monitor takes a Shape or Reject action. No further monitors will
take effect after this point. The order of monitors thus matters. If
three monitors are included, and the first monitor in the list either
Shapes or Rejects a message, no other monitors will execute.
Terminate at First Match
Allows all monitors to take effect until a monitor matches a
message. At that point, all monitor processing of the message
stops. In this way, only one monitor increments its counters.
302 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Loop Detection
Use the toggle to enable (on) or disable (off, the default) gateway loop
detection. Some protocols allow for the detection of loops between
gateways. Enable loop detection to include the HTTP Via header.
Follow Redirects
Use the toggle to enable (on) or disable (off) the following of server-side
redirects (such as HTTP 302) by the appliance. By default, the appliance
will not follow redirects. The number of redirects followed can be limited
by a User Agent that applies to the backend URL.
Rewrite Host Names When Gatewaying
Use the toggle to enable (on) or disable (off) host rewriting.
Some protocols have distinct name-based elements, separate from the URL,
that are used to demultiplex. HTTP uses the Host header for this purpose.
If this feature is enabled, the backside server will receive a request
reflecting the final route, otherwise it will receive a request reflecting the
information as it arrived at the appliance. Web servers that issue redirects
might want to disable this feature, as they often depend on the host header
for the value of their redirect.
Allow Chunked Uploads
Use the toggle to enable (on) or disable (off) the ability to send
Content-Type Chunked Encoded documents to the backend server.
When the appliance employs the HTTP 1.1 protocol, the body of the
document can be delimited by either Content-Length or chunked encoding.
While all servers will understand how to interpret Content-Length, many
applications will fail to understand chunked encoding. For this reason,
Content-Length is the standard method used. However doing so interferes
with the ability of the appliance to fully stream. To stream full documents
towards the backend server, this property should be turned on. However,
the backend server must be RFC 2616 compatible, because this feature
cannot be renegotiated at run time, unlike all other HTTP 1.1 features
which can be negotiated down at runtime if necessary. This property can
also be enabled by configuring a User Agent to enable it on a per-URL
basis.
Process Backend Errors
Indicates whether to processing errors from the backend server.
Depending on the protocol, the backend service might return a response
code that indicates an error condition. For HTTP messages, the response
from the backend server might include a response body that contains XML
that provides more details about the error. For MQ messages, the response
from the backend MQ server does not provide a response message.
on (Default) Ignores the error condition, and processes the response
rule.
off Notices the error condition during request processing, and
processes the error rule.
HTTP Client Label
Specify the name of an HTTP Header to read to determine the IP address
of the requesting client (for example X-Forwarded-For). This value defaults
to X-Client-IP.
WS-Addressing tab
For information about configuring Web Services Addressing (WS-Addressing), refer
to Configuring Web Services Addressing on page 36.
WS-ReliableMessaging tab
WS-ReliableMessaging
Enable or disables Web Services Reliable Messaging.
on Enables Reliable Messaging.
304 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
off (Default) Disables Reliable Messaging
306 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
off Does not use the exponential back off to increase the
interval between retransmissions.
Source Maximum Retransmissions
Specifies the number of times a Reliable Messaging source
retransmits a message before declaring a failure. This property also
controls the retransmission of CreateSequence requests.
The default is 4.
Source Maximum Queue Length
Specifies the maximum number of messages held in the Reliable
Messaging queue while waiting for Ack messages. This property
controls memory utilization.
The default is 30.
Source Request Ack Count
Specifies the number of messages that the a Reliable Messaging
source sends before including the AckRequested SOAP header to
request an acknowledgement.
The default is 1.
Source Inactivity Close Interval
Specifies the duration in seconds that a Reliable Messaging source
waits for an another message to be sent before closing the sequence
by sending a CloseSequence SOAP message.
The default is 3.
Required on Request
Indicates whether to require the use of Reliable Messaging for all SOAP
messages that request rules process. The client must establish a sequence
with a CreateSequence SOAP call and must include a Sequence in each
SOAP header. Any SOAP message without a Sequence results in a SOAP
fault.
on Requires Reliable Messaging for all requests.
off (Default) Does not require Reliable Messaging for all requests.
Required on Response
Indicates whether to require the use of Reliable Messaging for all SOAP
messages that response rules process. Any SOAP message without a
Sequence results in a SOAP fault.
308 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
The default is 3.
Source Create Sequence on Response
When the WS-Addressing mode is WS-Addressing Gatewayed to
Synchronous or Pure WS-Addressing indicates whether to create a
Reliable Messaging source from the front side to the client when there is
SOAP data to send to the client and there is no Reliable Messaging source
that was created by a MakeOffer from the client by sending a
CreateSequence SOAP request to the WS-Addressing ReplyTo address.
on Creates a Reliable Messaging source.
off (Default) Does not create a Reliable Messaging source.
When enabled, the WebGUI displays the following inputs:
Source Retransmission Interval
Specifies the duration in milliseconds that a Reliable Messaging
source waits for an Ack before retransmitting the message. This
property also applies to the retransmission of the CreateSequence
SOAP message.
The default is 2000.
Source Exponential Backoff
Indicates whether to use the exponential back off to increase the
interval between retransmissions on unacknowledged messages by
a Reliable Messaging source.
on (Default) Uses the exponential back off to increase the
interval between retransmissions. The value of the Source
Retransmission Interval property sets with the initial
timeout.
off Does not use the exponential back off to increase the
interval between retransmissions.
Source Maximum Retransmissions
Specifies the number of times a Reliable Messaging source
retransmits a message before declaring a failure. This property also
controls the retransmission of CreateSequence requests.
The default is 4.
Source Maximum Queue Length
Specifies the maximum number of messages held in the Reliable
Messaging queue while waiting for Ack messages. This property
controls memory utilization.
The default is 10.
Source Request Ack Count
Specifies the number of messages that the a Reliable Messaging
source sends before including the AckRequested SOAP header to
request an acknowledgement.
The default is 1.
Source Inactivity Close Interval
Specifies the duration in seconds that a Reliable Messaging source
waits for an another message to be sent before closing the sequence
by sending a CloseSequence SOAP message.
The default is 3.
310 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Click Add to display the Stylesheet Parameter Property window.
Peer Group
Peer Groups enable the exchange of SLM data among a group of DataPower
appliances. This exchange provides for the enforcement of SLM policies across
multiple appliances. Group members use SOAP over HTTPS to exchange SLM data
at periodic intervals, must be running identical SLM configurations, and must be
clock-synchronized. The update messages with the newly received update
information is aggregated in the information store of each group member.
Note: You can use the NTP service to synchronize the clocks among a group of
DataPower appliances. For information about enabling the NTP service,
refer to IBM WebSphere DataPower SOA Appliances: Administrators Guide.
To create or edit Peer Groups, select Objects Network Peer Groups to display
the Peer Groups catalog.
To edit an existing Peer Group, click the name of the group. To create a new Peer
Group, click Add to display the Peer Groups configuration screen.
Note: The membership list must be identical across all group members.
When creating the membership list, include the current appliance.
Click Apply to save the object to the running configuration and return to the object
catalog.
Optionally, click Save Config to save the object to the startup configuration.
A policy parameters is the way that you must map the needed parameters that are
defined in or referenced by the WSDL policy or that are defined in an attached
source to the specific DataPower object. If you do not define all the needed
parameters, processing a message with the defined WS-Policy generates errors.
For example, you might need an X.509 token to use the defined WS-Policy. If you
need an X.509 token, you need to define which certificate that is stored on the
DataPower appliance to use. If the certificate is alice, you would need to set the
{http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}ws-secpol-
Certificate parameter to alice.
Note: If you defined a policy parameters at the port or port-operation level, these
parameters are not applied to its parallel synthesize port or operation. The
policy parameters for synthesized ports and operations must be inherited
from the service level or redefined at the synthesized level.
Main tab
To define policy parameters, use the following procedure:
1. Select Objects Policy Policy Parameters to display the Policy Parameters
catalog.
2. Click the Main tab.
3. Provide the following inputs:
Name Specify the name of the object.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
Comments
Specify a descriptive object-specific summary.
4. Continue to the Policy Parameters tab to define the policy parameters.
312 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
b. Provide the following inputs:
Name Specify the name of the policy key with the {policy-domain-ns}key
format.
Value Specify the value of the key.
c. Click Submit.
3. Repeat the previous step for each required policy parameter.
4. Click Apply to save the object to the running configuration.
5. Optionally, click Save Config to save the object to the startup configuration.
Processing Action
Use the following procedure to define global, reusable Processing Actions. For a
more complete discussion of Processing Actions, refer to Chapter 5, Defining
processing policies, on page 87.
1. Select Objects XML Processing Processing Action to display the Processing
Action catalog.
2. Click Add to display the Processing Action Configuration (Main) screen.
3. Provide the following inputs:
Name Specify the name of this Processing Action.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
Comments
Specify a descriptive object-specific summary.
Action Type
Select an action to be performed by the processing rule. After making
the selection, the screen redraws with properties that are relevant to the
selected action. The following actions are available:
AAA Implements an AAA Policy specified by the AAA Policy
property.
An aaa action also requires that the Input context be identified,
and optionally allows for Output context identification. If the
output context is not identified, OUTPUT is used.
Call Processing Rule
Calls a named, reusable processing rule.
A call action requires that Input (document source) and
Output (document destination) contexts be identified, as well
as the target Processing Rule.
Checkpoint Event
Adds an administrative checkpoint. This action is available only
with Web Service Proxy services.
A checkpoint action requires that Input (document source)
context be identified as well as the Event that triggers the
action.
Conditional
Selects an action for processing based on an XPath match.
314 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Results
Sends the contents of a named context to another context or to
a remote location.
A results action requires that an Input context (the source of
the content to be sent) be identified, and optionally allows the
identification of an External URL (the content destination), the
identification of an Output context (which receives an expected
response from the content recipient), and characterization of the
Output Type.
You can use the Output Type property to characterize the type
of output data (in this case, the response from the destination
that received the results).
Results Asynchronous
Asynchronously sends the contents of a named context to
another context.
A results-async action requires that an Input context (the
source of the content to be sent) and an External URL (the
content destination) be identified.
Rewrite Header
Implements a URL Rewrite Policy.
A rewrite action requires that a URL Rewrite Policy be
identified.
Route using Stylesheet or XPath Expression
Performs dynamic, style sheet-based routing.
A route-action requires that an Input context (the source of
the document to be routed) and either a Transform style sheet
be identified or an XPath Map be identified.
Route using Variables
Routes message to an explicit destination.
A route-set action requires that an External URL (the routing
destination) be identified, and optionally allows the
identification of SSL Credentials to support a secure
connection to the destination.
Set Variable
Sets a variable.
A setvar action requires that a Variable Name, a Variable
Assignment, and an Output context (the context that contains
the variable) be identified. The variable name should take the
form var://context/somecontextname/somevarname.
Enforce SLM Policy
Implements an SLM Policy specified by the SLM Policy
property.
An slm action also requires that the Input context be identified,
and optionally allows for Output context identification. If the
output context is not identified, OUTPUT is used.
Strip Attachments
A strip-attachments action requires that an Input context (the
source of the document to be stripped) be identified, and
316 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Use the reserved word INPUT to identify the original input to the
Processing Policy. That is, the original client request or server response.
Leave blank if the Action Type is call, fetch, rewrite, route-set, or
setvar. These actions do not operate on the Input context.
Refer to Chapter 5, Defining processing policies, on page 87 for more
information about contexts and actions.
Transform
Use when the Action Type is filter, route-action, xform, xformbin, or
xformpi.
Specify the location of the style sheet that performs document filtering,
transformation, or routing.
You can specify the style sheet location as a URL or as a var:// URL
that expands to a URL.
If using a dynamic style sheet to perform filtering, routing, or
transformation, specify dynamic-stylesheet and use the Dynamic
Stylesheet property to specify the object (for example, a Document
Crypto Map) from which the dynamic style sheet is generated.
WTX Map File
Specify the WTX-generated map file that the Binary Transform
(xformbin) action uses to determine the input contexts and the output
contexts of the transform. For additional information, refer to IBM
WebSphere DataPower SOA Appliances: Integrating with WebSphere
Transformation Extender.
Top-Level Map Name
Specify which map in the WTX-generated map file that the Binary
Transform (xformbin) action uses this property to determine the input
contexts and the output contexts of the transform. For additional
information, refer to IBM WebSphere DataPower SOA Appliances:
Integrating with WebSphere Transformation Extender.
WTX Map Mode
Indicates whether to use mapping logic in XML-to-binary or
binary-to-XML WTX maps. Use when the Action Type is xformbin. For
additional information, refer to IBM WebSphere DataPower SOA
Appliances: Integrating with WebSphere Transformation Extender.
Output
Specify the name of the context that contains the results of the action
selected. Use when the Action Type is call, convert-http, extract,
fetch, setvar, xform, xformbin, or xformpi. Optional when the Action
Type is aaa, filter, log, results, results-async, route-action, slm, or
validate.
In each applicable case, the specified context contains the results of the
action. The results vary depending upon the action selected.
This context can be used, and usually is used, as the Input context to
the next action in a rule.
Use the reserved word OUTPUT to designate the context that contains the
content that is emitted by the service. This is the content that is sent
out on the wire. Typically, the last action in a rule sets Output to
OUTPUT.
If both Output and External URL are blank (the default condition), the
contents of the Input context are sent to the OUTPUT context. OUTPUT
identifies the final output from the Processing Policy. That is, the
filtered, transformed, or otherwise-processed client request or server
response.
Note: This URL Rewrite Policy rewrites the URLs found in the
document being processed. This affects the location of additional
resources, such a schema identified in a namespace declaration
318 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
in the XML payload, used during processing. This does not
change the destination of the output.
Refer to URL Rewrite Policy on page 339 for more information.
AAA Policy
Use when the Action Type is aaa to select the AAA Policy
implemented by this Processing Action. Refer to AAA Policy on page
239 for more information.
SLM Policy
Use when the Action Type is slm to select the SSL Policy implemented
by this Processing Action. Refer to SLM policies on page 328 for
more information.
Dynamic Schema
Optional when the Action Type is validate. Select the object (Schema
Exception Map) from which the dynamic schema is generated.
If using a dynamic schema to perform validation, first specify
dynamic-schema for the Schema URL property.
Refer to Schema Exception Map on page 327 for more information.
Dynamic Stylesheet
Optional when the Action Type is filter, route-action, xform,
xformbin, or xformpi. Select the object (for example, a Document
Crypto Map) from which the dynamic style sheet is generated.
If using a dynamic style sheet to perform filtering, routing, or
transformation, first specify dynamic-stylesheet for the Transform
property.
Refer to Document Crypto Map on page 282 for more information.
Output Type
Optional when the Action Type is fetch, log, results, xform, or
xformpi to specify the format of the output. The following output types
are available:
Default
Read the content-type from the resulting document. If the
content-type is XML or not declared, the content is treated as
XML, otherwise as binary.
XML The content is treated and parsed as XML.
Binary
The content is treated as binary and not parsed.
Event Use when the Action Type is checkpoint to select the type of event that
triggers the checkpoint. The following events are available:
Authentication Complete
(Default) Signifies the completion on an authentication process.
Fault Signifies a fault condition.
Request
Signifies the input as a server-originated document.
Response
Signifies the input as a client-originated document.
320 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Processing Rule
Use when the Action Type is call or on-error.
Specify the name of the Processing Rule or error-rule invoked by the
action.
Log Level
When the Action Type is log, select the priority of the generated log
message. Defaults to notice.
Log Type
Optional when the Action Type is log. Characterize log contents.
Defaults to none.
After completing basic Processing Action configuration, you can
optionally identify parameter/value pairs that are available to style
sheets used by this action.
Asynchronous
Determine whether the action is asynchronous:
on Marks the action as asynchronous. This action does not need to
complete for the next action in the processing rule to begin.
When asynchronous, you can cause processing to wait for the
action to complete by adding this action to a subsequent
event-sink action in the same processing rule.
off (Default) Marks the action as synchronous. This action must
complete for the next action in the processing rule to begin.
Processing Metadata
A Processing Metadata object identifies items of metadata information from or
about a transaction, such as the value of a protocol header (such as HTTP Host) or
the size of the message. These items of information will be retrieved and returned
to the object referencing the Processing Metadata object, such as a AAA Policy.
For example, a business use case might require the DataPower appliance to
authenticate a user based on the user identity in an MQ protocol header, coupled
with the name of the MQ Queue Manager that holds the request message. The
AAA Policy that implements this solution would use a Processing Metadata object
to retrieve those two meta-items and return them in a nodeset to the AAA Extract
Identity step.
Main tab
Use the properties on the Main tab to provide the following inputs:
Name Specify an alphanumeric string for the name. Other objects can use this
name to reference this object.
Admin State
Retain the default setting. To place the object in an inactive administrative
state, click disabled.
Comments
Specify a descriptive object-specific summary.
Continue to the Metadata Item tab to configure the items retrieved by this object.
322 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Adding metadata items
To add a metadata item, use the following procedure:
1. Click the Metadata Item tab.
2. Select the desired category from the Meta Category list. The list of available
metadata items depends on the category.
To configure custom metadata for a protocol header, select Custom Header.
To configure custom metadata for a system variable, select Custom Variable.
3. Select or specify the name of the metadata item. This name is the element name
of the item in the XML nodeset that is delivered to the referring object.
Whether you select or specify the name depends on the selected category.
v For all categories except Custom Header and Custom Variable, select the
desired metadata item from the Metadata Item list.
v For Custom Header and Custom Variable, specify the alphanumeric name of
the metadata item in the Metadata Item field.
4. For Custom Header and Custom Variable only, specify the exact name of the
protocol header or system variable to examine for the custom item in the
Custom Data Source field. For example, the desired custom HTTP header can
be ASN-Ob1.
5. Click Add.
Processing Policy
A Processing Policy consists of a list of processing rules. Each Processing Rule is
associated with a Matching Rule that specifies a document set subject to the rules
directives.
Processing Rule
You can create global, reusable processing rules which can later be assigned to one
or more processing policies.
1. Select Objects XML Processing Processing Rule to display the catalog.
2. Click Add to display the configuration screen.
3. Provide the following inputs:
Name Specify the name of this Processing Rule.
Admin State
Retain the default setting. To place the object in an inactive
administrative state, click disabled.
324 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Comments
Specify a descriptive object-specific summary.
Rule Direction
Select the rule type or direction.
Error A specialized bidirectional rule used for error handling
Client to Server
A rule applied only to client-originated documents
Server to Client
A rule applied only to server-originated documents
Both Directions
A bidirectional rule applied to both client- and
server-originated documents
Input Filter
Select a decompression algorithm to apply to the entire message
payload prior to the first action of the rule executing.
gzip The message will be decompressed using the gzip algorithm.
PKZIP
The message will be decompressed using the pkzip algorithm.
If the message is not compressed using the selected algorithm, an error
will result. This is, in effect, a filter.
Output Filter
Select a compression algorithm to apply to the entire message payload
after the last action of the rule executes.
gzip The message will be decompressed using the gzip algorithm.
PKZIP
The message will be decompressed using the pkzip algorithm.
The created archive contains only one file. If the message contains
attachments, the attachments are contained in the one file.
Non-XML Processing
Select whether to enable or disable the processing of non-XML
documents.
on Enables the processing of non-XML documents.
off (Default) Disables the processing of non-XML documents.
Unprocessed
Select whether to determine whether the actions of the rule will take
effect on the message. This duplicates the Request Type and Response
Type properties of the services.
Actions
Use the Add and Delete buttons, with the list of available processing
actions, to manage actions for this processing rule.
4. Click Apply to save the object to the running configuration.
5. Optionally, click Save Config to save the object to the startup configuration.
Within the DataPower appliance, RADIUS servers can be used for the following
purposes:
v On any appliance, to authenticate access using RBM.
v On all appliances except XML Accelerator XA35, to authenticate access in AAA
Policy objects.
Each RADIUS server has a positional value that the DataPower appliance uses to
determine the order in which to contact the servers. The appliances contacts the
servers from most preferred (lowest number) to least preferred (highest number).
The appliance sends the request to the next server based on the global timeout
value and the global retry value.
If the configuration defines three RADIUS servers with positional values of 10, 20,
and 30, the appliance contacts the servers in the following sequence:
1. Requests are always first sent to server 10.
2. If the request times out, it is sent to server 20.
3. If the request times out, it is sent to server 30.
NAS-identifier
The DataPower appliance is a client to RADIUS servers. The NAS-identifier is a
RADIUS attribute that the client uses to identify itself to a RADIUS server. The
NAS-Identifier, as defined in Section 5.32 of RFC 2865, can be used instead of an IP
address to identify the client. The NAS-identifier consists of one or more octets and
must be unique in the scope of the RADIUS server. The NAS-identifier is often the
fully qualified domain name (FQDN) of the RADIUS client.
326 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
4. Define RADIUS servers for use by AAA Policy objects or by the RBM policy.
a. Click the AAA/RBM Servers tab.
b. Define a server.
1) Click Add.
2) Specify the relative position of this server in the list in the Number
field.
3) Specify the IP address or domain name of the server in the Server
Address field,
4) Specify the listening port on the remote server in the Server Port field.
The default is 1812.
5) Specify the password to log in to the server in the Secret field.
6) Reenter the password in the Confirm Secret field.
7) Click Save.
c. Repeat the previous step to add additional servers to the list.
5. Click Apply to save the object to the running configuration.
6. Optionally, click Save Config to save the object to the startup configuration.
Rules tab
1. Click the Rules tab to display the Schema Exception Map Configuration (Rules)
screen.
2. Click Add to display the Rules Property window. Use this window to define
schema exception rules.
3. Provide the following inputs:
XPath Expression
Specify an XPath expression. This expression defines a schema element
or elements subject to this rule. Click XPath Tool to launch the
graphically-oriented XPath expression builder. You will need to upload
Appendix A. Referenced objects 327
an example document. The tool then allows you to click on an element
to construct the corresponding XPath expression.
Type Identify the exception type.
Allow Encrypted
Specifies that elements defined by the XPath expression can be
encrypted
Require Encrypted
Specifies that elements defined by the XPath expression must
be encrypted
4. Click Save to return to the Schema Exception Map Configuration (Rules)
screen, which now displays the exception rule.
5. Click Apply to save the object to the running configuration.
6. Optionally, click Save Config to save the object to the startup configuration.
SLM policies
An SLM policy provides precise specification of user and resource groups subject
to administrative control and possible sanctions. An SLM is implemented by an
instance of an SLM Policy object that consists of one or more policy statements.
Policy statements are sequentially processed in their configured order. If a policy
statement generates a rejection, the message is filtered (dropped) and policy
execution terminates.
Unlike Message monitors and Web services monitors, SLM monitors are not
directly assigned to a DataPower service. SLM monitors are implemented as part
of a processing policy.
328 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
a. Specify a class name in the Name field.
b. Retain the default setting for the Admin State toggle. To place the object in
an inactive administrative state, click disabled.
c. Specify a descriptive object-specific summary in the Comment field.
d. Select the type of credentials from the Credential Type list
Client IP
Specifies that this Credentials Class is defined by IP Address.
Custom Stylesheet
Specifies that membership in this Credentials Class is defined by an
XSLT style sheet.
Extracted Identity
Specifies that the user identities extracted by an AAA Policy are
members of this Credentials Class.
IP from Header
Specifies that membership in this Credentials Class is defined by an IP
address taken from the value of an HTTP header. The Header
property field appears when this option is selected.
Mapped Credential
(Default) Specifies that credentials returned by an AAA map credential
operation are members of the Credentials Class.
MQ Application
Specifies that membership in this Credentials Class is defined by MQ
application name.
Request Header
Specifies that membership in this Credentials Class is defined by the
value of an HTTP header. The Header property field appears when
this option is selected.
Note: The Mapped Credential and Extracted Identity methods can be used
only if the processing policy that uses Credentials Class implemented
an AAA Policy that provides the needed credentials.
e. If the credential type is Custom Stylesheet, use the Custom Stylesheet field
to specify the location of the style sheet.
f. Use the Match Type list to specify match criteria.
Exact
(Default) Specifies that only a subset of the group that is defined by
Credential Type is subject this SLM Policy. The subset is defined by
one or more entries specified by Credential Value. The policy
statement is evaluated only in the event of an exact match.
Per Extracted Value
Specifies that the appliance extracts and keeps a list of all unique
credentials of the specified type. All configured policies apply to each
of the extracted credentials.
Regular Expression
Specifies that only PCRE-style expressions that match the values are
subject to the SLM policy. The subset is defined by one or more entries
specified by Credential Value. The policy statement is evaluated only
in the event of a match.
330 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
MQ Request Queue
Defines membership by the MQ request queue.
Requests only
Restricts membership to all client requests.
Responses Only
Restricts membership to all server requests.
SOAP Faults
Restricts membership to SOAP fault messages.
UDDI Subscription
Defines membership by a UDDI Subscription key.
WSDL
Defines membership by a WSDL file.
WSDL Operation
Defines membership by the name of a WSDL operation.
WSDL Port
Defines membership by the name of a WSDL port.
WSDL Service
Defines membership by the name of a WSDL service.
WSRR Subscription
Defines membership by a WSRR subscription.
XPath Expression
Defines membership by an XPath expression.
7. If the resource types is Mapped Resource, Destination URL, Error Code,
Front URL, MQ Reply Queue, MQ Request Queue, WSDL, WSDL
Operation, WSDL Port, or WSDL Service, select the match criteria from the
Match Type list. The following choices are available:
Exact
(Default) Specifies that only exact matches to resource values are subject
to the SLM policy. Resources that do not match the values provided in
the Resource Value list are not subject to the SLM policy.
Per Extracted Value
Specifies that the appliance extracts and keeps a list of all unique
resources of the specified type. All configured policies apply to each of
the extracted resources.
Regular Expression
Specifies that only PCRE-style expression matches to resource values are
subject to the SLM policy. Resources that do not match the values
provided in the Resource Value list are not subject to the SLM policy.
8. If the match criteria is Exact or Regular Expression, use the Add and Delete
buttons with the adjacent field to create a Resource Value list that defines one
or more resource values.
9. If the resource type is Custom Stylesheet, specify the location of the XSLT
style sheet in the Custom Stylesheet field.
10. If the resource type is UDDI Subscription, specify the subscription key in the
UDDI Subscription field.
11. If the resource type is WSRR Subscription, select the subscription from the
WSRR Subscription list.
SLM Action
An SLM Policy Action defines a procedure triggered when a threshold value is
attained. To create an SLM Action, use the following procedure:
1. Select OBJECT Monitoring SLM Action to display the SLM Action catalog.
2. Click Add to display the SLM Action Configuration screen.
a. Specify an action name in the Name field.
b. Retain the default setting for the Admin State toggle. To place the object in
an inactive administrative state, click disabled.
c. Specify a descriptive object-specific summary in the Comment field.
d. Use the Type list to specify the action type.
Log Only
After the action is triggered, write a log entry; continue to process
subsequent transactions
Reject
After the action is triggered, write a log entry; drop traffic until
monitored entity is in conformance levels
Shape
After the action is triggered, write a log; next 2500 transactions are
queued for later transmission when the monitored entity is in
conformance levels; after 2500 transactions have been queued, further
transactions are rejected
e. Use the Log Priority list to specify the log priority.
3. Click Apply.
SLM Schedule
An SLM Schedule specifies a time period during which the associated SLM Policy
is enforced. To create an SLM Schedule, use the following procedure:
1. Select OBJECT Monitoring SLM Schedule to display the SLM Schedule
catalog.
2. Click Add to display the SLM Schedule Configuration screen.
a. Specify a schedule name in the Name field.
b. Retain the default setting for the Admin State toggle. To place the object in
an inactive administrative state, click disabled.
c. Specify a descriptive object-specific summary in the Comment field.
d. Use the Week Day check boxes to specify the days of the week on which
this SLM Policy is enforced, For example, check Saturday and Sunday to
specify weekend scheduling.
e. Using 24-hour time format (hh:mm:ss), specify the start time for this
schedule in the Start Time field. For example, if the schedule is to be
enforced for 8:00 AM to 8:30 PM, specify 08:00:00.
f. Specify the number of minutes that the schedule is enforced in the Duration
field. For example, if the schedule is to be enforced for 8:00 AM to 8:30 PM,
specify 750.
3. Click Apply
332 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SLM Policy
Use the following procedure to create an SLM Policy from the Configure SLM Rule
Action Window. To create an SLM Policy, perform the following procedure:
1. Select OBJECT Monitoring SLM Policy to display the SLM Policy catalog.
2. Click Add to display the SLM Policy Configuration (Main) screen.
a. Specify the name of this SLM Policy in the Name field.
b. Retain the default setting for the Admin State toggle. To place the object in
an inactive administrative state, click disabled.
c. Specify a descriptive object-specific summary in the Comment field.
d. Use the Evaluation Method list to specify the Policys operational mode.
Terminate at First Reject
(Default). Policy execution ceases once an incoming document is
filtered
Terminate at First Action
Policy execution ceases once a policy action is invoked
Execute All Statements
Policy execution ceases only when all policy statements have been
evaluated
e. Use the Peer Group list to enable a multi-appliance SLM and to specify the
appliance group.
An SLM Policy can be enforced across a group of appliances to handle
load-balanced traffic that is destined for the same resources. A Peer Group
establishes a data sharing protocol among these appliances, such that each
appliance includes the traffic that has passed through the other peers when
calculating whether or not a threshold was reached.
Refer to Peer Group on page 311 for more information.
3. Click the Statement tab to display the SLM Statement catalog.
4. Click Add to display the Statement Property window.
a. Specify a unique, positive integer in the Identifier field. This value is the
index and indicates the order in which the statement is executed.
Statements are executed from least to greatest.
b. Optionally specify a descriptive string in the User Annotation field.
c. Select the group of users that is subject to this SLM Policy from the
Credential Class list. Without an SLM Credential Class, all users and
transactions are subject to this policy. Refer to SLM Credentials Class on
page 328 for more information.
d. Select the group of resources that are subject to this SLM Policy from the
Resource Class list. Without an SLM Resource Class, all requested resources
are subject to this policy. Refer to SLM Resource Class on page 330 for
more information.
e. Select the time frame when this SLM Policy is enforced from the Schedule
list. Without an SLM Schedule, the policy is enforced at all times. Refer to
SLM Schedule on page 332 for more information.
f. Select the administrative action that the SLM Policy invokes from the SLM
Action list. Refer to SLM Action on page 332 for more information.
g. Specify the length of the measurement interval in seconds in the Threshold
Interval Length field. The default is 0, which allows all messages and never
triggers the threshold to enforce the SLM Action.
h. Select how to measure intervals from the Threshold Interval Type list.
334 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Total Latency
The threshold is based on the sum of measured latencies.
3) Specify the high threshold in the Threshold Level field. The units of
measure depends on the threshold type.
If the threshold is a count, specify an integer for the aggregate
count.
If the threshold is latency, specify an integer for the latency in
seconds.
The default is 0, which means that no message is accepted.
4) Specify the low threshold in the High Low Release Level field
v If Token Bucket, the algorithm consists of a bucket with a maximum
capacity of N tokens that refills at a rate of R tokens per second. Each
token typically represent a quantity of whatever resource is being
rate-limited.
1) Select Token Bucket from the Threshold Algorithm list.
2) Select how to characterize the monitored count from the Threshold
Type list.
Count All
(Default) The threshold level is applied to the resources specified
by the SLM Resource Class.
Count Errors
The threshold is based on errors.
Backend Latency
The threshold is based on server latency.
Internal Latency
The threshold is based on internal latency (processing time).
Total Latency
The threshold is based on the sum of measured latencies.
3) Specify the threshold that triggers the SLM Action in the Threshold
Level field. The units of measure depends on the threshold type.
If the threshold is a count, specify an integer for the aggregate
count.
If the threshold is latency, specify an integer for the latency in
seconds.
The default is 0, which means that no message is accepted.
4) Specify the size of the committed burst in the Burst Limit field.
The committed burst defines how much traffic can be send during a
reporting interval. The burst size should be at least twice the value of
the threshold level. The default is 0, which means the burst limit is the
configured threshold level.
j. Specify the reporting interval in minutes in the Reporting Aggregation
Interval field. This property determines the interval at which to report
statistics. This property has no effect on threshold intervals.
k. Specify the maximum aggregation of reporting records in the Maximum
Records Across Intervals field. A single aggregation interval could contain
multiple records; for example, one record per resource or credential. Use
this property to configure the maximum number of total records to save
across the maximum number of saved intervals.
High-level configuration
To configure an SQL Data Source, use the following procedure:
1. Select Objects Network Setting SQL Data Source to open the SQL Data
Source catalog.
2. Click Add to display the SQL Data Source configuration (Main) screen.
3. On the Main tab, define the basic configuration. Refer to Defining the base
configuration for details.
4. On the Data Source Configuration Parameters tab, define the optional but
valid ODBC (or CLI) configuration parameters. Refer to Defining
configuration parameters on page 338 for details.
5. Click Apply to save the object to the running configuration.
6. Optionally, click Save Config to save the object to the startup configuration.
338 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
URL Rewrite Policy
You can design a URL Rewrite Policy that defines rules for the following rewrite
and replacement operations:
v Rewrite the entire URL or a portion of the URL
v Replace a header value in the message
v Rewrite the HTTP POST body in the message
The rewrite rules in the URL Rewrite Policy are applied before document
processing. Therefore, the evaluation criteria in the Matching Rule is against the
rewritten value.
340 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
v For content-type, defines the replacement value for the Content-Type
header.
v For header-rewrite, defines the replacement value for the specified
header.
v For post-body, defines the rewritten body of the HTTP POST. For
example:
If the match pattern is .* or *, specify the complete replacement.
If the match pattern is (.*)xsl=(.*)\?(.*), specify the evaluation
replacement for any text subpattern or retain the original text
subpattern. To retain the first text subpattern, specify $1; to retain
the second text subpattern, specify $2, and so forth. To omit the
second text subpattern only, specify $1$3.
Stylesheet Replace Expression
Specify a PCRE-style replacement that identifies the replacement style
sheet. This option is available for absolute-rewrite or post-body only.
v If the match pattern is .* or *, specify the complete replacement.
v If the match pattern is (.*)xsl=(.*)\?(.*), specify the evaluation
replacement for any text subpattern or retain the original text
subpattern. To retain the first text subpattern, specify $1; to retain the
second text subpattern, specify $2, and so forth. To retain the second
text subpattern only and not use the third text subpattern, specify
http://mantis:8000/$2.
Input URL Unescape
Select whether URL-encoded characters (for example, %2F) that occur in
the rewritten URL are replaced with literal character equivalents. This
option is available for absolute-rewrite or post-body only.
on Enables the substitution of literal characters for URL-encoded
characters.
off (Default) Disables the substitution of literal characters for
URL-encoded characters.
Stylesheet URL Unescape
Select whether URL-encoded characters (for example, %2F) that occur in
the replacement URL are replaced with literal character equivalents.
This option is available for absolute-rewrite or post-body only.
on (Default) Enables the substitution of literal characters for
URL-encoded characters.
off Disables the substitution of literal characters for URL-encoded
characters.
Header Name
Identifies the name of the header to have its value rewritten. The
header name must be entered exactly as it is defined in the message.
This option is for header-rewrite only.
URL Normalization
Select whether to enable normalization of URL strings. Normalizing a
URL compresses "." and ".." and converts backward slashes (\) to
forward slashes (/).
on (Default) Enables normalization.
off Disables normalization.
4. Click Save to return to the URL Rewrite Policy Configuration (Main) screen.
User Agent
A User Agent is a client that initiates a request for a local service. An XML
Manager uses a User Agent, for example, to retrieve resources from elsewhere on
the network. The settings of a User Agent can affect messages that sent out by a
specific DataPower service when its XML Manager employs a User Agent.
Click Apply to save the object to the running configuration and return to the object
catalog.
Optionally, click Save Config to save the object to the startup configuration.
Proxy Policy
The User Agent will forward all requests that meet the URL Matching Expression
to an HTTP server instead of to the host that is identified in the target URL. When
there are multiple proxy policies, candidate URLs are evaluated against each proxy
policy in the order in which it was created. Consequently, the sequence of proxy
policies is important.
342 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
1. Click the Proxy Policy tab to display the User Agent configuration (Proxy
Policy) screen.
2. Click Add to display the Proxy Policy Property window.
3. Provide the following inputs:
URL Matching Expression
Define the target URL sets associated with this Proxy Policy.
Match patterns can contain the following wildcard syntax:
* Indicates a string that matches 0 or more occurrences of any
character.
? Indicates a single character that matches one occurrence of any
single character.
[] Indicates a delimited range of alphabetic or numeric characters.
For example, [1-5] would match 1, 2, 3, 4, or 5, and [x-y]
would match x or y.
To assign an instance of an SSL Proxy Profile object to the User Agent, use the
following procedure:
1. Click the SSL Proxy Profile Policy tab.
2. Click Add.
3. In the URL Matching Expression field, define the target URL sets associated
with this policy. If the target URL matches this expression, the communication
will use SSL employing the SSL Proxy Profile specified.
Match patterns can contain the following wildcard syntax:
* Indicates a string that matches 0 or more occurrences of any character.
You can use any PCRE-compliant expression. For more information, refer to
http://www.pcre.org.
4. From the SSL Proxy Profile list, select an instance of the SSL Proxy Profile
object to support secure access to the HTTP Proxy Server. The SSL Proxy Profile
must be either a client or two-way profile.
5. Click Save.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
The URL set defined by this matching expression could be identical to the
set defined by the HTTP Proxy Policy, or it could be a subset.
User name
Specify the user name.
Password
Specify the associated password.
Confirm Password
Specify the associated password again.
Click Save to complete basic authentication and return to the User Agent
configuration (Basic-Auth Policy) screen, which now lists the newly created user
name-password pair.
Optionally, click Save Config to save the object to the startup configuration.
344 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SOAP Action Policy
Certain User Agent requests require that the contents of the SOAPAction HTTP
request header field be supplied. Click the Soap-Action Policy tab to display the
User Agent configuration (SOAP-Action Policy) screen, which lists all SOAP
actions.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Soap Action
Specify the SOAP action (a URI that identifies the intent of the SOAP
HTTP request). In the following example, the Soap Action is:
GetCatalogList
POST /webServices/soap/endpoint HTTP/1.1
Host: www.somedomain.info
Content-Type: text/xml; charset="utf-8"
Content-Length: <length of HTTP request>
SOAPAction: GetCatalogList
Click Save to complete specification of the header field contents and return to the
User Agent configuration (Soap-Action Policy) screen, which now lists the newly
created SOAP action.
Optionally, click Save Config to save the object to the startup configuration.
Click any existing policy to edit the policy, or click Add to create a new policy. The
Public Key Property window is displayed.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Examples include the following:
v https://server.domain.com/transactions/*
v sftp://user@server.com/images/*
v scp://user[a-c]@10.10.[0-4].23/inbound/*
Private Key
Select the desired private key. If the Crypto Key object needed is not
presented in the list, click the + button to create the object. The Private Key
file must be uploaded to the local appliance to create the Crypto Key
object.
The remote server must also possess the appropriate certificate. This
certificate must reside in $HOME/.ssh/authorized_keys on the remote
server.
Click the Allow-Compression Policy tab to set the configuration values needed for
this feature.
Click any existing policy to edit the policy, or click Add to create a new policy. The
Allow Compression Property window is displayed.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
346 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Allow Compression
Use the toggle to enable (on) or disable (off) compression.
Click any existing policy to edit the policy, or click Add to create a new policy. The
Restrict to HTTP 1.0 Policy Property window is displayed.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Restrict to HTTP/1.0
Use the toggle to enable (on) or disable (off) HTTP protocol restriction.
Note: A Multi-Protocol Gateway can also inject HTTP headers. The User Agent
operates on the communication after the gateway.
Click any existing policy to edit the policy, or click Add to create a new policy. The
Inject Header Property window is displayed.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Header Name
Specify the name of the HTTP Header to inject.
Header Value
Specify the corresponding value string for the injected header.
Note: A Multi-Protocol Gateway can also control Chunked Uploads. The User
Agent operates on the communication after the Multi-Protocol Gateway.
Click any existing policy to edit the policy, or click Add to create a new policy. The
Chunked Uploads Property window is displayed.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Enable/Disable HTTP 1.1 Chunked Request Bodies
Use the toggle to enable (on) or disable (off) chunked encoding.
348 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Click Save to add this policy to the list.
Click the FTP Client Policies tab to display the User Agent configuration (FTP
Client Policies) screen.
Click any existing policy to edit or click Add to create a new policy to display the
FTP Client Policies Property window.
You can use any PCRE-compliant expression. For more information, refer
to http://www.pcre.org.
Passive Mode
Select how the use of FTP passive mode to control the direction in which
FTP data connections are made.
Passive Mode Not Requested
Do not use the FTP PASV command to allow the client to open
FTP data connections. The FTP server will open all data
connections to the FTP client. Often, this mode is incompatible
with firewalls.
Request Passive Mode
Use the FTP PASV command to request that the FTP client be
allowed to open all data connections to the FTP server, but do not
fail if the server does not support PASV.
Require Passive Mode
(Default) Use the FTP PASV command to request that the FTP
client be allowed to open all data connections to the FTP server,
and fail if the server does not support PASV.
Encrypt Command Connection
Select how to control the use of TLS to secure the FTP command
connection.
350 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
ASCII Data
Transfer files in ASCII mode. This setting allows for the
standardizations of end-of-line conventions between different
operating systems. This setting increases the overhead at both ends
of the transfer. This setting uses the FTP TYPE A command.
Image (Binary) Data
(Default) Transfer files in image mode, which transfers data as
binary 8-bit bytes. This setting is more efficient and has less
overhead at both ends of the transfer. Some XML files, such as
ones that are signed, must be transferred in image mode. This
setting uses the FTP TYPE I command.
Write Unique Filename if Trailing Slash
Select whether the FTP server creates unique file names. Some FTP servers
provide the STOU command. The STOU command causes the FTP server
to choose a unique file name to write to in the current directory, instead of
having the FTP client choose a unique name. When enabled and the URL
end in a slash, the STOU command is used instead of the STOR
command. Before enabling, ensure that the FTP server support the STOU
command.
Request Unique File Name When Trailing Slash
(Default) If the supplied file name ends in a slash (before the
question mark (?) character that initiates the query parameter, or
the semicolon (;) character that begins the suffix), use the STOU
command to request that the server generates a unique file name
in the target directory. This behavior allows multiple systems to
write files to the same directory without any risk of duplicate file
names that overwrite each other. The transfer fails if the FTP server
does not support the STOU command.
Use Supplied File name
Always uses the supplied file name to generate the target file name
that is requested on the server. This setting uses the STOR
command to initial the transfer. If the URL ends in a slash, the
transfer generally fails, because there is only a directory
specification (no file name).
Quoted Commands
Select an FTP Quoted Command to send to the FTP server before each
STOU, STOR, or RETR command.
Size Check
Select whether to perform a size check after a transfer.
Disabled
Do not perform this check.
Optional
(Default) If the FTP SIZE command is available, use it to check the
size of the file after transfer. The SIZE command compares the
returned value to the number of bytes that were transferred. If not
equal, the transfer is marked as failing.
An XML Manager object obtains and manages XML documents, style sheets, and
other document resources on behalf of one or more services. An XML Manager
also provides the following capabilities:
v Basic network configuration, such as load balancing and accessing remote
servers.
v Set manager-associated limits on the parsing of XML documents. By default, the
appliance imposes limits on various characteristics of XML documents. These
limitations provide for increased security and stability to protect against DoS
attacks or runaway data. Parser limits defined by the XML Manager object that
is associated with a service can be overridden by service-specific settings.
v Enable the caching of documents that this XML Manager object obtains. XML
Manager objects obtain documents via HTTP. The number of documents in the
cache depends on the availability of allocated memory.
v Define extension function mapping. An XML Manager object can automatically
map custom style sheet extension functions to DataPower extension functions.
This ability removes the need to alter or rewrite a style sheet for use by the
appliance. The most common example is the node-set() extension function. If a
service uses style sheets that reference the Microsoft node-set, Oracle node-set,
or Salon nodeset XSLT extension functions, you must map these extensions to
their DataPower equivalent. It is possible to map any extension function to a
DataPower extension function.
v Define the caching policy for documents. This policy allows an administrator to
determine how to cache documents. The policy defines the time-to-live, the
priority, and the type.
v Enable schema validation by defining schema-validation rules. These rules apply
to all documents that match predefined criteria. Alternatively, the appliance can
validate documents with a validate action in a processing rule. Do not mix and
match schema validation strategies. Policy-based schema validation is the
preferred strategy.
v Schedule processing rules. Certain applications might require the running of a
scheduled processing rule. Integration with a CA Unicenter Manager is
facilitated by a regularly scheduled processing rule that obtains relationship data
from the Unicenter Manager.
352 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
5. On the Document Cache tab, define the caching of documents that are
obtained via HTTP.
6. On the Extension Functions tab, define the maps for custom extension
functions to DataPower extension functions.
7. On the Document Cache Policy tab, define the documents to store in the
document cache.
8. On the Schema Validation Rules tab, define rules to enforce validation of all
documents that match the defined criteria.
9. On the Scheduled Processing Policy Rule tab, define scheduled processing
rules.
10. Click Apply to save the object to the running configuration.
11. Optionally, click Save Config to save the object to the startup configuration.
Note: After a change to a Compile Options Policy object, flush the stylesheet
cache. Otherwise, the XML Manger object continues to use the previous
compiled style sheets until they are recompiled.
To support this functionality, the NSS server must be configured to support the
NSS client. See the following z/OS Communications Server documentation for
these configuration steps:
v Enable the XMLAppliance discipline support. For further information, refer to the
section on network security services server in the z/OS Communications Server: IP
Configuration Reference.
v Authorize the client userid to SAF profiles representing security services and
resources. For further information, refer to the section on preparing to provide
network security services in the z/OS Communications Server: IP Configuration
Guide.
v Configure SSL for the TCP connection between the client and server. For further
information, refer to the section on configuring the NSS server in the z/OS
Communications Server: IP Configuration Guide.
Only one physical connection per Remote Address, Remote Port, and Client ID is
allowed. Additional z/OS NSS Client objects might be configured, but if more than
one client with the same tuple try to connect, the connection will fail. If the
connection is not established or the provided parameters are not valid, the object
operational state is down and shows one of the following event codes:
v Invalid registration parameters
v TCP connection retry (interval is 1 minute)
v TCP connection in progress
v Communication failed
v Cannot connect to host
For additional information on logged NSS protocol return codes and reason codes,
refer to http://www.ibm.com/support/docview.wss?rs=852&uid=swg21329236 for
z/OS Communications Server: IP Diagnosis Guide updates.
Contact NSS for SAF Authentication is selected as the Authenticate method in the
AAA policy configuration and Contact NSS for SAF Authorization is selected for
the Authorization method.
354 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
6. Specify the IP address or hostname of the NSS server in the Remote Address
field.
7. Specify the port on which the NSS server listens in the Remote Port field.
8. Select an SSL Proxy Profile in the SSL Proxy field to provide a secure
connection to the remote authentication server.
9. Specify the client ID to be used for registration with the NSS server in the
Client ID field.
10. Specify the system name to identify the NSS client to the NSS server in the
System Name field.
11. Specify the user name to use to authenticate with the SAF in the User Name
field.
12. Specify the password to use to authenticate with the SAF in the Password
field.
13. Reenter the password in the Confirm Password field.
14. Click Apply to save the object to the running configuration.
15. Optionally, click Save Config to save the object to the startup configuration.
ID references
The DataPower appliance, when acting as a message receiver, can process any
reference that uses one of the following attribute formats:
v @wsu:Id
v @xml:Id
v local @Id
The default is wsu:Id. This ID attribute type was the only type that was allowed in
early versions of the specification.
This property is available on the Advanced tab of the encrypt and sign actions.
EncryptedData tokens
The <xenc:EncryptedData> element can be included as a child of a
<wsse:Security> header. The <xenc:EncryptedData> element contains an encrypted
UsernameToken or BinarySecurityToken.
For the encrypt action, the DataPower appliance automatically includes the
appropriate token during field-level WS-Security encryption. For the decrypt
action, the appliance automatically decrypts the token during field-level or
message-level decryption.
Token reference mechanisms are available for the following token types. For
normative information, refer to the cited document:
X.509 certificates
Refer to Web Services Security: X.509 Certificate Token Profile 1.1, the OASIS
Standard incorporating approved errata dated November 1, 2006
Kerberos AP-REQ tokens, version 5
Refer to Web Services Security: Kerberos Token Profile 1.1, the OASIS Standard
incorporating approved errata dated November 1, 2006
SAML assertions
Refer to Web Services Security: SAML Token Profile 1.1, the OASIS Standard
incorporating approved errata dated November 1, 2006
X.509 certificates
The DataPower appliance supports STR Dereference Transform with X.509 tokens
as follows:
v Within a verify action
v During the Identity Extraction phase of an AAA policy when the method is
Subject DN from Certificate in the Messages signature
v During the Authentication phase of an AAA policy when the method is Validate
the Signer Certificate for a Digitally Signed.
358 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Subject Key Identifier can be used only to reference a X.509 version 3
certificate. Versions earlier than version 3 are not supported.
Thumbprint SHA-1A
A <wsse:SecurityTokenReference> element contains a
<wsse:KeyIdentifier> element that identifies the token with the value of
the X.509 version 3 Subject Key Identifier extension for the certificate. A
Subject Key Identifier can be used only to reference a X.509 version 3
certificate. Versions earlier than version 3 are not supported.
X.509 Thumbprint SHA-1A
A <wsse:SecurityTokenReference> element contains a
<wsse:KeyIdentifier> element that identifies the token with the value of
the X.509 version 3 Subject Key Identifier extension for the certificate. A
Subject Key Identifier can be used only to reference a X.509 version 3
certificate. Versions earlier than version 3 are not supported.
SAML assertions
The DataPower appliance supports STR Dereference Transform with SAML
assertions as follows:
v Within a verify action
v During the Identity Extraction phase of an AAA policy when the method is
Subject DN from Certificate in the Messages signature
v During the Authentication phase of an AAA policy when the method is Validate
the Signer Certificate for a Digitally Signed.
Signature confirmation
The <wsse11:SignatureConfirmation> element is available when using WS-Security
1.1. This element is not available when using WS-Security 1.0.
360 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Appendix C. Working with variables
Variables can be used in most context, except PIPE. To use a variable, you must
create it with the Set Variable action. This action creates a variable in a specified
context and assigns it a value.
There are the following distinct variable types, each expressed in the var://URL
format:
var://local/variable
A local context variable to addresses a variable called variable in the default
(current) context. The following example transforms the document in the
tmp1 context with a style sheet that is referenced by the stylesheet-1
variable (also in the tmp1 context) and stores the transformed document in
the tmp2 context:
xform tmp1 var://local/stylesheet-1 tmp2
The local context does not persist beyond the scope of the multistep
transaction. A multistep transaction can include both a request component
and a response component. The local context cannot be accessed by any
object outside of the scope of the multistep transaction. In other words, the
service cannot read and use the variable.
A local context variables can be user-defined or based on an extension
variable. For a complete list of the available extension variables, refer to
Extension variables on page 370.
var://context/context/variable
Addresses a variable called variable in a context called context. The
following example transforms the document in the tmp1 context with a
style sheet that is referenced by the stylesheet-1 variable (in the apple
context) and stores the transformed document in the tmp2 context:
xform tmp1 var://context/apple/stylesheet-1 tmp2
A named context does not persist beyond the scope of the multistep
transaction. A multistep transaction can include both a request component
and a response component. The local context cannot be accessed by any
object outside of the scope of the multistep transaction. In other words, the
service cannot read and use the variable.
Note: Refer to List of available variables on page 373 for the list of variables that
you can define for document processing.
Service variables
Service variables enable the setting and retrieval of pieces of state that usually
reflect the state of the current transaction.
The available service variables are separated alphabetically into the following
categories:
v Service variables that are available to all DataPower services
v Service variables that are available to only Multi-Protocol Gateway and Web
Service Proxy services
v Configuration services
v Load balancer service
v Legacy MQ-specific services
Read-write variables
var://service/soap-fault-response
Set when the response input rule is treated as a SOAP fault.
362 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Table 4. Names and permissions for general service variables that are available to only
Multi-Protocol Gateway and Web Service Proxy services (continued)
Variable name Permission
var://service/mpgw/skip-backside Write-only
var://service/reply-to-q Write-only
var://service/reply-to-qm Write-only
Write-only variables
var://service/mpgw/skip-backside
For Multi-Protocol Gateway and Web Service Proxy services only, indicates
that the service skips backside processing.
Set this variable to 1 to prevent backside processing. Use this variable as a
custom redirect implementation, not as the point of the service. Because
the service is not aware of the processing flow, unusual messages might be
written to the event log.
Read-write variables
var://service/mpgw/backend-timeout
For Multi-Protocol Gateway and Web Service Proxy services only, gets or
sets the backend timeout, in seconds. Setting this variable overrides the
default timeout. Use an integer in the range of 1 through 86400.
var://service/reply-to-q
Read and write the value in the ReplyToQ (Reply to Queue) MQ header.
When read, shows the input message value. When write, changes the
dynamic routing.
var://service/reply-to-qm
Read and write the value in the ReplyToQMgr (Reply to Queue Manager)
MQ header. When read, shows the input message value. When write,
changes the dynamic routing.
Write-only variables
var://service/config-param/parameterName value
Sets the specified stylesheet parameter to the specified value.
Read-write variables
var://service/max-call-depth
Gets or sets the maximum call depth for each transaction. This variable
controls how many levels of called rules can be layered before an error is
thrown. The default is 128.
Write-only variables
var://service/lbhealth/
Sets the member and state of a load balancer group.
Write-only variables
var://service/mq-ccsi
Sets the MQ message descriptor character set for an MQ Host or MQ
Proxy service.
var://service/mqmd-reply-to-q
Sets the output MQ message descriptor.ReplyToQ value for an MQ Host
or MQ Proxy service.
var://service/mqmd-reply-to-qm
Sets the output MQ message descriptor.ReplyToQMgr value for an MQ
Host or MQ Proxy service.
364 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Read-write variables
var://service/correlation-identifier
Read and write the MQ value in the Correlation Identifier header for
MQ Host and MQ Proxy services.
var://service/expiry
Read and write the MQ value in the Expiry header for MQ Host and MQ
Proxy services.
var://service/format
Read and write the MQ value in the Format header for MQ Host and MQ
Proxy services.
var://service/message-identifier
Read and write the MQ value in the Message Identifier header for MQ
Host and MQ Proxy services.
var://service/message-type
Read and write the MQ value in the Message Type header for MQ Host
and MQ Proxy services.
var://service/persistence
Read and write the MQ value in the Persistence for MQ Host and MQ
Proxy services.
var://service/priority
Read and write the MQ value in the Priority header for MQ Host and
MQ Proxy services.
var://service/reply-to-q
Read and write the MQ value in the ReplyToQ (Reply to Queue) header for
MQ Host and MQ Proxy services. When read, shows the input message
value. When write, changes the dynamic routing.
var://service/reply-to-qm
Read and write the MQ value in the ReplyToQMgr (Reply to Queue
Manager) header for MQ Host and MQ Proxy services. When read, shows
the input message value. When write, changes the dynamic routing.
var://service/report
Read and write the MQ value in the Report header for MQ Host and MQ
Proxy services.
Multistep variables
This section contains information about system variables in alphabetic order by
permission category. Multistep variables usually impact the behavior of specific
actions in the context of a processing rule. Table 8 lists the names and permission
for these variables.
Table 8. Names and permissions for variables that are available to all services
Variable name Permission
var://service/log/soapversion Read-write
Read-write variables
var://service/log/soapversion
Gets or sets the version of SOAP for use by a SOAP log targets. Use a
setvar action before a log action to change the version of SOAP to use
when logging this message.
Transaction variables
The available transaction variables are separated alphabetically into the following
categories:
v Asynchronous transactions
v Error handling
v Headers
v Persistent connections
v Routing
v URL
v Web Services Management (WSM)
Write-only variables
var://service/transaction-key
Sets the token for asynchronous transactions.
var://service/transaction-name
Sets the name for asynchronous transactions.
var://service/transaction-timeout
Sets the timeout for asynchronous transactions.
Read-write variables
var://service/soap-oneway-mep
Gets or sets the SOAP one-way Message Exchange Pattern (MEP)
notification.
v When true, notifies the service layer that this transaction is performing a
one-way MEP operation. This setting enables the service layer to
optimize resource usage while preventing Web Services Addressing
(WSA) from waiting for and faulting on a response that will never
arrive.
v When false, no notification is sent. When using WSA and one-way
MEPs, the service layer will time out waiting for a response.
When a DataPower service is configured for WSA-to-WSA and it receives a
WSA annotated message without the wsa:MessageId, the DataPower service
366 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
assumes that this is a one-way MEP and notifies the service layer by
setting this value of this variable to true.
This variable is not needed for Web Service Proxy services, as one-way
MEPs are identified by reviewing the specifics of the port operation.
Write-only variables
var://service/error-protocol-reason-phrase
Sets the protocol-specific reason phrase for an error. This variable
overwrites the reason phrase in the response to provide a short description
that an be understood by people.
var://service/error-protocol-response
Sets the protocol-specific response for an error. This variable overwrites the
protocol-specific response code in an error condition.
Read-write variables
var://service/error-code
Gets or sets the assigned error code from the Result Code table.
var://service/error-ignore
Gets or sets a flag that controls how the Front Side Handler processes error
condition. If the value is set and greater than zero, it does not run any
error handling action and produces a regular response. The content of the
message is produced by an error rule.
The default value is 0.
Currently, on the TIBCO EMS and WebSphere JMS Front Side Handler use
this variable. If any error happens and the variable is set, the Front Side
Handler acknowledges a request message and puts the response message
in the PUT queue. This response message will be a SOAP-fault or any
output that error rule generates.
var://service/error-message
Gets or sets the generic error message that is sent to the client. This
variable contains the error condition that stopped multistep processing.
Setting this variable overwrites the error response that is sent to the client
in an error condition. To set the error message that is written to the log
file, use the var://service/formatted-error-message variable.
Write-only variables
var://service/append-request-header/
Appends to the protocol request header.
var://service/append-response-header/
Appends to the protocol response header.
var://service/set-request-header/
Sets the protocol request header. This variable directly correlates to the
dp:set-request-header() extension function. Setting the
var://service/set-request-header/FOO variable to the value BAR would
set the request header FOO to BAR.
var://service/set-response-header/
Sets the protocol response header. This variable directly correlates to the
dp:set-response-header() extension function. Setting the
var://service/set-response-header/FOO variable to the value BAR would
set the response header FOO to BAR.
368 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Read-write variables
var://service/connection/note
Gets or sets the annotation for the current connection. This variable allows
the user to annotate the current protocol session. The value could be an
identifier that could be used to maintain the state based on an existing
protocol session.
Write-only variables
var://service/routing-url
For XML Firewall, Multi-Protocol Gateway, and Web Service Proxy
services, sets the routing URL. This variable can be set one time only and
takes the following format:
<dp:set-variable name="var://service/routing-url"
value="'protocol://target/URI'" />
v For XML Firewall services:
The protocol must be HTTP or HTTPS. If any other protocol, the
service generates an error.
The URI is stripped. To specify the URI, use the var://service/URI
variable, as shown in the following excerpt:
<dp:set-variable name="'var://service/routing-url'"
value="'http://10.10.36.11:2064'" />
<dp:set-variable name="'var://service/URI'"
value="'/service'" />
v For Multi-Protocol Gateway and Web Service Proxy services:
The protocol can be any valid backend protocol.
The URI is absolute and cannot be controlled with the Propagate URI
toggle (WebGUI) or propagate-uri command.
The var://service/routing-url variable is an addition to the
dp:set-target and dp:xset-target extension elements. These extension
elements do not allow the specification of a protocol. These extension
element, if provided, overrides the value of the target server that is
specified in this variable.
var://service/routing-url-sslprofile
Sets the SSL proxy profile for the routing URL (dynamic route). Use this
variable when the ssl property for the DataPower service is not sufficient
for the route to be selected. Use this variable before using the
var://service/routing-url variable.
Read-write variables
var://service/URI
Gets or sets the request URI of the transaction.
Write-only variables
var://service/wsm/wsdl-error
Sets the WSDL error.
var://service/wsm/wsdl-warning
Sets the WSDL warning.
Read-write variables
var://service/wsa/timeout
Gets or sets the timeout value for the WS-Addressing asynchronous reply.
var://service/wsa/genpattern
Gets or sets the pattern for the WS-Addressing asynchronous reply.
Extension variables
This section contains information about system variables in alphabetic order by
permission category. Extension variables usually impact the behavior of specific
actions, particularly fetch, results, and results-async actions. Table 16 lists the
names and permission for these variables.
Table 16. Names and permissions for extension variables
Variable name Permission
var://local/_extension/allow-compression Write-only
var://local/_extension/donot-follow-redirect Write-only
var://local/_extension/header/ Write-only
var://local/_extension/http-10-only Write-only
var://local/_extension/prevent-persistent-connection Write-only
var://local/_extension/sslprofile Write only
370 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Write-only variables
var://local/_extension/allow-compression
Enables compression of HTTP requests. Set this variable to allow
compression of outgoing results content and negotiate the returned
document to be compressed if the underlying protocol supports it. For
HTTP, this means the content-encoding and accept-encoding headers.
var://local/_extension/donot-follow-redirect
Disables HTTP redirects. Set this variable to prevent the following of
protocol-level redirect sequences on the outgoing results and fetch calls
that are associated with this context. By default, redirects are followed.
var://local/_extension/header/
Appends the specified header field to the protocol connection. Variables of
the following form can be set to append headers to the dp:url-open()
extension function or results action or fetch action connection when a
context that contains them is used as the input context:
_extension/header/*
The following example would add the HTTP header X-foo: bar to the
HTTP request:
setvar tmpvar2 var://local/_extension/header/X-foo bar
results tmpvar2 http://foo.bar.com/foome.asp tmpvar3"
var://local/_extension/http-10-only
Restricts HTTP to version 1.0. Set this variable to prevent the use of
HTTP/1.1 on the related context of a results action or fetch action.
var://local/_extension/prevent-persistent-connection
Disables HTTP persistent connection. Set this variable to prevent persistent
connections of the outgoing a results action call or fetch action call that is
associated with this context. Persistent connections are supported by
default, where appropriate.
var://local/_extension/sslprofile
Sets the SSL proxy profile for the request. This variable can be set on the
input context to a dp:url-open() extension function or to a results action or
to a fetch action to override the selection of an SSL Proxy Profile. For
instance:
results tmpvar2 https://foo.bar.com/foome.asp tmpvar3
would normally use the SSL Proxy Profile that is associated with any
user-agent configuration for the URL
https://foo.bar.com/foome.asp
Read-write variables
var://system/map/debug
Gets or sets the debugging level for role-based management (RBM).
var://system/tasktemplates/debug
Gets or sets the debugging level for task templates.
372 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
List of available variables
Table 18 lists the variables that you can define for document processing.
Table 18. All available variables
Short variable name Full variable name Category
allow-compression var://local/_extension/allow-compression Extension
append-request-header var://service/append-request-header Transaction,
headers
append-response-header var://service/append-response-header Transaction,
headers
backend-timeout var://service/mpgw/backend-timeout Service, general
config-param var://service/config-param Service,
configuration
correlation-identifier var://service/correlation-identifier Service, MQ
debug var://system/map/debug System
var://system/tasktemplates/debug
donot-follow-redirect var://local/_extension/donot-follow-redirect Extension
error-code var://service/error-code Transaction, error
handling
error-ignore var://service/error-ignore Transaction, error
handling
error-message var://service/error-message Transaction, error
handling
error-protocol-reason-phrase var://service/error-protocol-reason-phrase Transaction, error
handling
error-protocol-response var://service/error-protocol-response Transaction, error
handling
error-subcode var://service/error-subcode Transaction, error
handling
expiry var://service/expiry Service, MQ
format var://service/format Service, MQ
genpattern var://service/wsa/genpattern Transaction, WSM
header var://local/_extension/header Extension
http-10-only var://local/_extension/http-10-only Extension
lbhealth var://service/lbhealth Service, load
balancer
max-call-depth var://service/max-call-depth Service,
configuration
message-identifier var://service/message-identifier Service, MQ
message-type var://service/message-type Service, MQ
mq-ccsi var://service/mq-ccsi Service, MQ
mqmd-reply-to-q var://service/mqmd-reply-to-q Service, MQ
mqmd-reply-to-qm var://service/mqmd-reply-to-qm Service, MQ
note var://service/connection/note Transaction,
persistent
connection
374 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Appendix D. Getting help and technical assistance
This section describes the following options for obtaining support for IBM
products:
v Searching knowledge bases
v Getting a fix
v Contacting IBM Support on page 376
Getting a fix
A product fix might be available to resolve your problem. To determine what fixes
are available for your IBM product, check the product support site by performing
the following steps:
1. Go to the IBM Support site at the following Web address:
http://www.ibm.com/support
2. Select Support & Downloads Download to open the Support & downloads
page.
3. From the Category list, select WebSphere.
4. From the Sub-Category list, select WebSphere DataPower SOA Appliances.
5. Click the GO icon to display the list of most recent updates.
6. Click the link for the firmware and documentation download that is specific to
your WebSphere DataPower product.
7. Follow the instructions in the technote to download the fix.
http://www.ibm.com/software/support
b. Scroll down to the Additional support links section of the page.
c. Under Support tools, click the Software Support Handbook link.
d. Bookmark this page for future reference.
From this page, you can obtain a PDF copy of the handbook.
2. Gather diagnostic information.
a. Access the product support at the following Web address:
http://www.ibm.com/software/integration/datapower/support
b. Locate the Assistance area of the product support page.
c. Click Information to include to access that technote that lists the
information that is required to report a problem.
3. Submit the problem in one of the following ways:
Online
From the IBM Support Web site (http://www.ibm.com/support), select
Support & Downloads Open a service request. Following the
instructions.
By phone
For the phone number to call in your country, refer to Contacts in the
Software Support Handbook. From the Software Support Handbook Web
site, click Contacts. In the U.S. and Canada, call 1800IBM-SERV
(18004267378) and select option 2 for software.
If the problem you should submit is for a software defect or for missing or
inaccurate documentation, IBM Support creates an authorized program analysis
report (APAR). The APAR describes the problem in detail. Whenever possible, IBM
Support provides a workaround that you can implement until the APAR is
resolved and a fix is delivered.
376 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Notices and trademarks
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information about the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the users responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Some states do not allow disclaimer of express or implied warranties in
certain transactions, therefore, this statement may not apply to you.
Trademarks
IBM, the IBM logo, CICS, developerWorks, DB2, DataPower, IMS, RACF,
Redbooks, Tivoli, WebSphere, and z/OS are registered trademarks of the
International Business Machines Corporation in the United States or other
countries.
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States,
and/or other countries.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other countries.
Copyright IBM Corp. 2002, 2009 377
Other company, product, and service names may be trademarks or service marks
of others.
378 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Index
Special characters AAA Policy (continued)
authentication (continued)
AAA Policy (continued)
file editor (continued)
... button Kerberos AP-REQ 179 credentials 267
list of referenced object 3 LDAP 174 default credential 267
referenced object 2 LTPA token 173 file information 269
.java.policy file 205 Netegrity 177 map credentials 268
[configuration-database] stanza, file none 178 map resources 268
entry 271 RADIUS 179 overview 267
[ldap] stanza, ssl-keyfile-pwd entry 271 SAML assertion, artifact 178 unauthenticated identity 267
[manager] stanza, replica entry 271 SAML assertion, valid identity extraction
<results> element 161 signature 173 BinarySecurityToken, WS-Security
<url> element 161 SAML assertions, remote 359 Header 168
+ button SAML server 175 client IP address 170
list of referenced object 3 signer certificate 179 custom 172
referenced object 2 SSL certificate, connection derived-key UsernameToken,
peer 180 WS-Security Header 167
TAM 177 extracted token, cookie value 172
A WS-SecureConversation extracted token, message 172
AAA context 178 HTTP Authentication Header 167
authentication WS-Trust server 175 Kerberos AP-REQ, SPNEGO 169
search parameters 286 X.509 certificates, remote 358 Kerberos AP-REQ, WS-Security
search parameters 286 z/OS NSS authentication 177 Header 169
TFIM 272 authorization LTPA token 172
aaa action AAA Info File 193 name, SAML
defining 94 always 186 AttributeStatement 169
dictionary attack, protection 52 any authenticated 185 name, SAML authentication
purpose 88 ClearTrust 187 assertion 170
AAA Info File custom 187 password-carrying
Authenticate element 266 LDAP 187 UsernameToken, WS-Security
authentication 178 Netegrity 186 Header 167
authorization, AAA 193 SAML attribute from Processing Metadata 172
Authorize element 267 authentication 191 SAML artifact 170
credentials mapping, AAA 181 SAML attribute query 189 SAML assertions, remote 359
editor SAML authorization query 188 subject DN, certificate in message
authenticated identities 267 TAM 186 signature 170
authorized access to XACML PDP 191 Token Subject DN (SSL),
resources 269 z/OS NSS authorization 187 connection peer 169
confirmation 270 changing authentication caching WS-SecureConversation
credentials 267 policy 181 Identifier 168
default credential 267 changing authorization caching WS-Trust Base 169
file information 269 policy 193 WS-Trust Supporting 169
map credentials 268 configuring 165 X.509 certificates, remote 358
map resources 268 creating 166 LTPA, adding user attributes 265
overview 267 credentials mapping mapping authentication
unauthenticated identity 267 AAA Info file 181 credentials 180
MapCredentials element 266 custom 180 mapping resources 183
MapResource element 266 from identity extraction 181 namespace mappings
overview 265 none 181 XPath bindings 264
resources mapping, AAA 185 TFIM 181 object pages
AAA Policy WS-SecureConversation 181 Authenticate 244
AAA Info File defining authentication method 173 Authorize 253
Authenticate element 266 defining authorization method 185 Identity 242
Authorize element 267 defining identity extraction LTPA Attributes 263
MapCredentials element 266 method 167 Main 239
MapResource element 266 defining resource extraction Map Credentials 250
overview 265 methods 182 Map Resource 252
authentication file editor Namespace Mapping 262
AAA info file 178 authenticated identities 267 Post Processing 259
BinarySecurityToken 178 authorized access to Resource 251
ClearTrust 177 resources 269 SAML Attributes 263
custom 178 confirmation 270 Transaction Priority 264
380 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
actions (continued) authentication builder
xform (continued) configuring RADIUS settings 326 deployment policy 223
defining conformance LDAP 286 buttons
transform 155 search parameters 286 ... 2
defining SOAP refinement authentication caching policy, + 2
transform 152 changing 181 Apply 4
purpose 91 authentication, AAA Cancel 4
xformbin AAA info file 178 Delete 5
defining 150 available methods 173 Edit 3
purpose 91 BinarySecurityToken 178 Logout 1
xformpi ClearTrust 177 Save Config 1, 4
defining 151 connection peer Undo 5
purpose 91 SSL certificate 180 View 3
Add button custom 178
list of referenced object 3 Kerberos AP-REQ 179
admin account
exporting configuration data 211
LDAP 174
LTPA token 173
C
CA Unicenter Manager 352
Administration menu 1 Netegrity 177
caches
administrative states, objects 6 none 178
flushing
antivirus (antivirus) action RADIUS 179
document cache 353
defining 94 SAML assertion
stylesheet cache 353
antivirus action artifact 178
caching policy
purpose 88 valid signature 173
AAA Policy
AP-REQ message, Kerberos 274 SAML assertions, remote 359
authentication 181
appliance configuration SAML server 175
authorization 193
backing up 211, 212 signer certificate 179
call action
comparing 220 TAM 177
defining 96
configuration checkpoints 216 WS-SecureConversation context 178
defining reusable rules 158
copying WS-Trust server 175
purpose 88
files 215 X.509 certificates, remote 358
call processing rule (call) action
objects 215 z/OS NSS authentication 177
variable builder 162
exporting 211 authorization caching policy,
call processing rule action
select objects and files 213 changing 193
See call action
importing configuration 218 authorization, AAA
Cancel button 4
managing configuration changes 220 AAA Info File 193
cert: directory 201
moving always 186
certificate files
files 215 any authenticated 185
location 201
objects 215 available methods 185
Certificate objects
reading change report 221 ClearTrust 187
export packages 211
reverting changes 221 custom 187
certificates
undoing changes 221 LDAP 187
DER 9
appliance-wide log Netegrity 186
exporting 11
location 201 SAML attribute from
generating 10
application domains authentication 191
importing 12
backing up configuration 212 SAML attribute query 189
PEM 9
Apply button 4 SAML authorization query 188
PKCS #12 9
asynchronous transaction variables TAM 186
PKCS #8 9
service/transaction-timeout 366 XACML PDP 191
security
asynchronous transactions variables z/OS NSS authorization 187
location, shared 202
listing 366 Authorize element, AAA Info File 267
location, Web browsers 202
service/transaction-key 366 auto-config.cfg file 4
supported formats 9
service/transaction-name 366
uploading 205
asynchronous variables
checkpoint action
service/soap-oneway-mep 366
attachment protocol
B purpose 88
backend-timeout variable 363 checkpoint configuration files
actions 160
Basic Profile 1.0 location 201
query parameters 160
Conformance Policy 279 checkpoint event (checkpoint) action
attachments
Basic Profile 1.1 defining 97
buffering transform 154
Conformance Policy 279 chkpoints: directory 201
Attachments Profile 1.0
Basic Security Profile 1.0 clear pdp cache CLI 279
Conformance Policy 279
Conformance Policy 279 clear xsl cache CLI 279
audit log
BinarySecurityToken ClearTrust
location 201
authentication, AAA 178 authentication, AAA 177
viewing 201
identity extraction, AAA 168 authorization, AAA 187
audit: directory 201
bold typeface xi client-to-server rule 87
Authenticate element, AAA Info File 266
buffer-attachments.xsl style sheet 154 Clone link 6
Index 381
commands Conformance Policy (continued) Crypto Profile
clear pdp cache 279 WS-I Basic Security Profile 279 configuring 17
clear xsl cache 279 conformance transform 155 creating 17
web-mgmt 1 conformance-filter.xsl style sheet 129 object pages 17
conditional action conformance-xform.xsl style sheet 155 Crypto Shared Secret Key
defining 97 contexts configuring 18
purpose 88 actions creating 18
config: directory 201 input 91 object pages 18
configuration output 91 Crypto Tools
managing appliance keywords exporting certificates 11
configuration 209 INPUT 92 exporting keys 11
configuration checkpoints NULL 92 generating certificates 10
defining number to allow 216 OUTPUT 92 generating keys 10
deleting 218 PIPE 92 importing certificates 12
listing 217 processing policies 91 importing keys 12
loading 218 processing rules 92 Crypto Validation Credentials
overwriting 217 Control Panel object pages 21
rolling back 218 File Management 203 cryptobin action
saving 217 convert query parameters to XML defining 100
configuration data (convert-http) action purpose 89
applying 4 defining 99 cryptography
backing up convert query parameters to XML action Multi-Protocol Gateway 31
WebGUI 211, 212 See convert-http action customer support
backing up application domains 212 convert-http action contacting 376
comparing defining 99 obtaining fixes 375
WebGUI 220 purpose 88 searching knowledge bases 375
configuration checkpoints 216 Count Monitor
copying Authorized Counter 194
files 215
objects 215
dictionary attack, protection 52
post processing, AAA 194
D
dashboard 1
different release level 211 Rejected Counter 194
debugging
exchanging 211 count monitors
processing policies 163
exporting configuring 230
decrypt action
location of files 201 Count Monitors
defining 108
select objects and files 213 Multi-Protocol Gateway 301
Encrypted tokens 357
WebGUI 211 credentials
purpose 89
files not included 211 identification
decrypt.xsl file 109
importing configuring 15
default log
WebGUI 211, 218 creating 15
location 201
managing changes 220 credentials mapping
Delete button 5
moving LDAP 286
list of referenced object 3
files 215 search parameters 286
denial-of-service, protection
objects 215 credentials mapping, AAA
multiple message (MMXDoS) 50
objects not included 211 AAA Info file 181
single message (XDoS) 49
reading change report 221 available methods 180
deployment policy
reading changes 221 custom 180
accepted configuration 222
saving 4 from identity extraction 181
creating 222
undoing changes 221 none 181
filtered configuration 222
configuration files TFIM 181
modified configuration 222
exported, location 201 WS-SecureConversation 181
using the builder 223
location 201 crypto binary (cryptobin) action
Deployment Policy
TAM defining 100
object pages 222
ASCII 270 crypto binary action
deployment policy builder
creating 271 See cryptobin action
creating matching statements 223
modifying 271 Crypto Certificate
DER
obfuscated 270 configuring 13
certificate format 9
configuration service variables creating 13
key format 9
listing 363 object pages 13
dictionary attack, protection 52
service/config-param/ 363 Crypto Firewall Credentials
directories
service/max-call-depth 363 object pages 14
audit: 201
configuration states, objects 6 Crypto Identification Credentials
available 201
conformance filter 129 object pages 15
cert: 201
Conformance Policy Crypto Key
chkpoints: 201
filter actions 280 configuring 16
config: 201
object pages 279 creating 16
displaying contents 203
WS-I Attachments Profile 279 object pages 16
dpcert: 201
WS-I Basic Profile 279
export: 201
382 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
directories (continued) error rule 87 files (continued)
hiding contents 203 event-sink action deleting 208
image: 201 defining event-sink 124 editing
local: 201 purpose 89 during configuration 4
logstore: 201 examples File Management utility 208
logtemp: 201 specifying dual thresholds 237 encrypt-soap.xsl 120
managing 201 Export link 5 encrypt-wssec.xsl 110
pubcert: 202 export packages encrypt.xsl 121
refreshing contents 204 admin account 211 exported, location 201
sharedcert: 202 files not included 211 fetching 206
store: 202 objects not included 211 healthcheck.xml 291
tasktemplates: 203 permission 211 healthcheck.xsl 292
temporary: 203 export: directory 201 managing 201
disabled administrative state 6 Extensible Access Control Markup moving 207
Document Crypto Map Language not in export packages
object pages See XACML PDP firmware files 211
Main 282 extension functions log files 211
Namespace Mappings 283 node-set() 352 pkcs7-decrypt.xsl 107
documentation conventions, typefaces xi set-target() 143 pkcs7-encrypt.xsl 106
Domain list 1 extension variables pkcs7-sign.xsl 101
down operation state 6 listing 370 pkcs7-verify.xsl 103
dpcert: directory 201 local/_extension/allow- private keys
dpmq protocol 159 compression 371 location 201
dptibems protocol 159 local/_extension/donot-follow- renaming 207
dptibemss protocol 159 redirect 371 SQL-Injection-Filter.xsl 50
dpwasjms protocol 159 local/_extension/header/ 371 SQL-Injection-Patterns.xml 50
dpwasjmss protocol 159 local/_extension/http-10-only 371 TAM
duration monitors local/_extension/prevent-persistent- ASCII configuration 270
configuring 233 connection 371 creating configuration 271
Duration Monitors local/_extension/sslprofile 371 modifying configuration 271
Multi-Protocol Gateway 301 local/_extension/timeout 371 obfuscated configuration 270
extract action SSL key 270
defining 125 SSL stash 270
E purpose 89
extract using XPath (extract) action
uploading
JKS 205
Edit button 3
defining 125 remote 206
elements
extract using XPath action workstation 204
EncryptedData element 357
See extract action viewing
SecurityTokenReference 358
during configuration 4
SignatureConfirmation 359
File Management utility 208
enabled administrative state 6
encrypt action F filter action
conformance filter 129
defining 110 fetch action
Conformance Policy 280
Encrypted tokens 357 attachment protocol 160
defining 126
ID references 357 defining 125
purpose 89
purpose 89 locating remote resources 159
replay filter 127
SOAP message with WS-Security 110 purpose 89
required elements filter 128
SOAP message with XML query parameters 160
SQL injections, protection 50
encryption 120 specifying remote locations 159
standard filter 126
XML message with XML supported protocols 159
WS-Security message layout
encryption 121 file entry, [configuration-database]
filter 128
encrypt-soap.xsl file 120 stanza 271
filter-accept-all.xsl style sheet 126
encrypt-wssec.xsl file 110 File Management utility, launching 203
filter-reject-all.xsl style sheet 126
encrypt.xsl file 121 file system
filtered configuration
encrypted tokens See directories
deployment policy 222
EncryptedData element 357 files
Firewall Credentials
EncryptedData element 357 .java.policy 205
configuring 14
error code rule 87 AAAInfo.xsd 265
creating 14
error handling variables auto-config.cfg 4
firmware files
listing 367 certificates
between release levels 211
service/error-code 367 location 201
export packages 211
service/error-ignore 367 checkpoint configurations
firmware images
service/error-message 367 location 201
location 201
service/error-protocol-reason- configurations
fixes, obtaining 375
phrase 367 location 201
flash drive
service/error-protocol-response 367 copying 206
See directories
service/error-subcode 367 remote URL 206
service/strict-error-mode 368 decrypt.xsl 109
Index 383
for-each
purpose 89
I intermediary service provider,
SOAP 152
for-each action IBM Tivoli Access Manager italics typeface xi
defining for-each 130 See TAM
locating remote resources 159 IBM Tivoli Federated Identity Manager
See TFIM
specifying multiple URLs 159
use cases 130 ID references J
encrypt action 357 J2RE (j2re1.4.2) 205
Front Side Handler
sign action 357 j2re1.4.2 (J2RE) 205
object pages
Identification Credentials j2sdk1.4.2 (SDK) 205
FTP Poller 57
configuring 15 Java Crypto Extension
FTP Server 60
creating 15 See SunJCE
HTTP 70
identity extraction Java Crypto Extension Key Store
HTTPS 71
AAA See JCEKS
IMS Connect 72
BinarySecurityToken, WS-Security Java Key Store
MQ 73
Header 168 See JKS
NFS Poller 75
identity extraction, AAA java.security package 205
SFTP Server 77
available methods 167 JCE
Stateful Raw XML 80
client IP address 170 See SunJCE
Stateless Raw XML 81
connection peer JCEKS 205
TIBCO EMS 82
Token Subject DN, SSL 169 JKS
WebSphere JMS 84
custom 172 crypto extension 205
FTP Poller
extracted token granting permissions 205
Front Side Handler 57
as cookie value 172 java.security package 205
ftp protocol 159
from message 172 keytool utility 205
FTP Server
HTTP Authentication Header 167 managing 205
Front Side Handler 60
LTPA token 172 required software 205
Processing Metadata 172 uploading certificates 205
SAML artifact 170 working with 205
G SAML assertion
general variables AttributeStatement 169
listing 362
service/soap-fault-response 362
AuthenticationStatement 170 K
SPNEGO KDC, Kerberos 274
Kerberos AP-REQ 169 Kerberos
subject DN AP-REQ message 274
H certificate in message configuring KDC server 276
health check signature 170 KDC 274
filter 292 SAML assertions, remote 359 keytab 274
SOAP request 291 SSL certificate 169 principal 274
healthcheck.xml file 291 X.509 certificates, remote 358 Kerberos AP-REQ
healthcheck.xsl file 292 WS-SecureConversation authentication, AAA 179
HTTP Front Side Handler 70 Identifier 168 identity extraction, AAA
HTTP header WS-Security Header SPNEGO 169
identity extraction, AAA 167 Kerberos AP-REQ 169 WS-Security Header 169
HTTP Header Injection UsernameToken, derived-key 167 post processing, AAA 196
Multi-Protocol Gateway 304 UsernameToken, verify action 359
HTTP header parameters password-carrying 167 Kerberos AP-REQ tokens, remote 359
Multi-Protocol Gateway WS-Trust Kerberos KDC server
configuring 34 Base 169 configuring 276
injection parameters 34 Supporting 169 creating 276
suppression parameters 35 image: directory 201 object pages 276
HTTP Header Suppression Import Package Kerberos keytab
Multi-Protocol Gateway 304 creating 210 configuring 276
HTTP Input Conversion Map IMS Connect definition 274
object pages object pages Kerberos Keytab File
Input Encoding 284 Main 284 object pages 276
Main 283 URL builder 52 Key Distribution Center
HTTP matching rule 87 IMS Connect Handler 72 See KDC
HTTP operations ims protocol 159 Key objects
resource extraction, AAA 183 imsssl protocol 159 export packages 211
HTTP Options Include Configuration File key-certificate pairs
Multi-Protocol Gateway 302 creating 209 creating 9
http protocol 159 object pages 209 keys
HTTPS Front Side Handler 71 input context, actions 91 DER 9
https protocol 159 INPUT keyword 92 exporting 11
installation images generating 10
See firmware images importing 12
intellectual property 377
384 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
keys (continued) local/_extension/prevent-persistent- modified configuration
PEM 9 connection variable 371 deployment policy 222
PKCS #12 9 local/_extension/sslprofile variable 371 Modified configuration state 6
PKCS #7 9 local/_extension/timeout variable 371 monitoring statistics, enabling 235
supported formats 9 log action monitors
keywords defining 133 count monitors
contexts locating remote resources 159 configuring 230
INPUT 92 purpose 89 duration monitors
NULL 92 specifying remote locations 159 configuring 233
OUTPUT 92 supported protocols 159 message monitors
PIPE 92 log files configuring 226
knowledge bases export packages 211 count monitors 230
searching 375 log/soapversion variable 365 duration monitors 233
logging filter action 230
post processing, AAA message type 229
L access attempts 194
Logout button 1
traffic definition 227
Multi-Protocol Gateway 35, 301
LDAP
logs types 225
authentication
appliance-wide Web services monitors
search parameters 286
location 201 configuring 235
authentication, AAA 174
audit enabling 235
authorization, AAA 187
location 201 overview 234
credentials mapping
viewing 201 specifying dual thresholds 237
search parameters 286
default monospaced typeface xi
search parameters 286
location 201 MQ
licensing
viewing from catalog 5 URL builder 53
sending inquiries 377
viewing from configuration screen 5 MQ Front Side Handler 73
links
viewing object-specific logs 5 MQ Get Message Options (GMO)
Clone 6
logstore: directory 201 MQGET options 73
Export 5
logtemp: directory 201 MQGMO_* 73
Show Probe 7
LTPA MQ header action
View Logs 5
adding user attributes, AAA modifying
View Status 6
Policy 265 reply queue 137
load balancer group
authentication, AAA 173 reply queue manager 137
creating 287
identity extraction, AAA 172 request message headers 134
server state 287
post processing, AAA 199 response message headers 136
Load Balancer Group
overview 133
adding members 290
retrieving responses
assigning weight 290
configuring, basic 288 M with correlation ID 135
with message ID 135
example MapCredentials element, AAA Info
MQ Host variables
DataPower service 55 File 266
listing 364
health MapResource element, AAA Info
service/correlation-identifier 365
convalescent (down) 288 File 266
service/expiry 365
healthy (up) 287 Matching Rule
service/format 365
quarantined (softdown) 287 object pages 292
service/message-identifier 365
health checks matching rules
service/message-type 365
enabling 291 error code 87
service/mq-ccsi 364
overriding port 290 HTTP 87
service/mqmd-reply-to-q 364
health of members 287 processing policies 87
service/mqmd-reply-to-qm 364
object pages URL 87
service/persistence 365
Health 291 XPath 87
service/priority 365
Main 288 matching statements
service/reply-to-q 365
Members 290 deployment policy builder 223
service/reply-to-qm 365
replacing backend server 55 deployment policy, manual 224
service/report 365
service/lbhealth/ variable 288 message catalogs 202
mq protocol 159
load balancer service variables message layout filter, WS-Security 128
MQ Proxy variables
listing 364 message monitors
listing 364
service/lbhealth/ 364 configuring 226
service/correlation-identifier 365
local: directory 201 count monitors 230
service/expiry 365
local/_extension/allow-compression duration monitors 233
service/format 365
variable 371 filter action 230
service/message-identifier 365
local/_extension/donot-follow-redirect message type 229
service/message-type 365
variable 371 traffic definition 227
service/mq-ccsi 364
local/_extension/header/ variable 371 message tampering, protection 50
service/mqmd-reply-to-q 364
local/_extension/http-10-only messages
service/mqmd-reply-to-qm 364
variable 371 validating conformance 279
service/persistence 365
MMXDoS, protection 50
Index 385
MQ Proxy variables (continued) navigation (continued) object pages (continued)
service/priority 365 Status menu 1 Matching Rule 292
service/reply-to-q 365 Netegrity Multi-Protocol Gateway
service/reply-to-qm 365 authentication, AAA 177 HTTP Header Injection 304
service/report 365 authorization, AAA 186 HTTP Header Suppression 304
MQ request messages Network HTTP Options 302
modifying message headers 134 Multi-Protocol Gateway 31 Main 294
specifying correlation ID 135 Network menu 1 Monitors 301
specifying message ID 135 New configuration state 6 Parser Limits 301
MQ response messages NFS Poller Front Side Handler 75 Proxy Settings 296
modifying headers 136 node-set() extension function 352 Stylesheet Parameter 310
modifying reply queue 137 notices 377 WS-Addressing 304
modifying reply queue manager 137 NULL keyword 92 WS-ReliableMessaging 304
Multi-Protocol Gateway Peer Group 311
advanced configuration 31 Policy Parameters
basic settings 27
changing cryptographic behavior 31
O Main 312
Policy Parameters 312
object pages
changing network behavior 31 Processing Action
AAA Policy
configuring 25 Main 313
Authenticate 244
configuring monitors 35 Named Inputs 321
Authorize 253
configuring Multi-Protocol Gateway Named Outputs 321
Identity 242
objects 294 Stylesheet Parameters 321
LTPA Attributes 263
configuring processing Processing Metadata
Main 239
parameters 34 Main 322
Map Credentials 250
creating 26 Metadata Items 322
Map Resource 252
creating Multi-Protocol Gateway Processing Policy
Namespace Mapping 262
objects 294 Main 323
Post Processing 259
HTTP header Policy Maps 324
Resource 251
configuring parameters 34 Processing Rule 324
SAML Attributes 263
injection parameters 34 Schema Exception Map
Transaction Priority 264
suppression parameters 35 Main 327
Conformance Policy 279
object pages Rules 327
Crypto Certificate 13
HTTP Header Injection 304 SLM Action 332
Crypto Firewall Credentials 14
HTTP Header Suppression 304 SLM Credentials Class 328
Crypto Identification Credentials 15
HTTP Options 302 SLM Policy 333
Crypto Key 16
Main 294 SLM Resource Class 330
Crypto Profile 17
Monitors 301 SLM Schedule 332
Crypto Shared Secret Key 18
Parser Limits 301 SOAP Header Disposition Table
Crypto Validation Credentials 21
Proxy Settings 296 Main 336
Deployment Policy 222
Stylesheet Parameter 310 SOAP Header Refine
Document Crypto Map
WS-Addressing 304 Instruction 336
Main 282
WS-ReliableMpessaging 304 SQL Data Source
Namespace Mappings 283
service description 294 Data Source Configuration
Front Side Handler
service variables Parameters 338
FTP Poller 57
backend-timeout 363 Main 337
FTP Server 60
service/reply-to-q 363 SSL Proxy Profile 19
HTTP 70
service/reply-to-qm 363 TAM 271
HTTPS 71
skip-backside 363 TFIM 272
IMS Connect 72
threat protection 48 URL Rewrite Policy
MQ 73
WS-Addressing Main 339
NFS Poller 75
configuring 36 URL Rewrite Rule 339
SFTP Server 77
multistep variables User Agent
Stateful Raw XML 80
log/soapversion 365 Allow-Compression Policy 346
Stateless Raw XML 81
multistep/loop-count service Basic-Auth Policy 344
TIBCO EMS 82
variable 133 Chunked Uploads Policy 348
WebSphere JMS 84
multistep/loop-iterator service FTP Client Policies 349
HTTP Input Conversion Map
variable 132 Inject Header Policy 347
Input Encoding 284
Main 342
Main 283
Proxy Policy 342
IMS Connect
N Main 284
Pubkey-Auth Policy 345
Restrict to HTTP 1.0 Policy 347
namespace mappings, AAA Policy 264 Include Configuration File 209
Soap-Action Policy 345
NAS-identifier 326 Kerberos KDC server 276
SSL Proxy Profile 343
navigation Kerberos Keytab File 276
XACML PDP 277
Administration menu 1 Load Balancer Group
XML Manager 352
Network menu 1 Health 291
objects
Objects menu 1 Main 288
administrative state 6
Services menu 1 Members 290
386 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
objects (continued)
configuration state 6
post processing, AAA
Authorized Counter 194
Q
not in export packages available activities 194 query parameters
Certificate 211 Count Monitors 194 actions 160
Key 211 custom 195 attachment protocol 160
User 211 Kerberos AP-REQ 196 queues
operational state 6 logging access attempts 194 TIBCO EMS 82
referenced LTPA 199 WebSphere JMS 84
... button 2 Rejected Counter 194
+ button 2 SAML assertion 195
creating 2 SPNEGO 200 R
modifying 2 TFIM 200 RADIUS
selecting 2 WS-Security UsernameToken 198 authentication, AAA 179
status 6 WS-Trust 196 NAS-identifier 326
TFIM 272 principal, Kerberos 274 purpose 326
Objects menu 1 private key files referenced objects
on-error location 201 ... button 2
variable builder 162 private keys + button 2
on-error action uploading 205 creating 2
defining 138 Processing Action modifying 2
defining reusable rules 158 object pages selecting 2
purpose 90 Main 313 referenced objects, lists
operational states, objects 6 Named Inputs 321 ... button 3
output context, actions 91 Named Outputs 321 + button 3
OUTPUT keyword 92 Stylesheet Parameters 321 Add button 3
Processing Metadata adding 3
identity extraction, AAA 172 creating 3
P object pages
Main 322
Delete button 3
parameters, HTTP header deleting 3
Metadata Items 322 modifying 3
Multi-Protocol Gateway
resource extraction, AAA 183 selecting 3
configuring 34
ssh-password-metadata 78 Rejected Counter Tool 194
injection parameters 34
ssh/password variable 78 replay filter 127
suppression parameters 35
ssh/publickey variable 78 replay-filter.xsl style sheet 127
Parser Limits
ssh/username variable 78 replica entry, [manager] stanza 271
Multi-Protocol Gateway 301
processing parameters required-elements-filter.xsl style
patents 377
Multi-Protocol Gateway 34 sheet 128
Peer Group
processing policies resource extraction, AAA
object pages 311
contexts 91 available methods 182
PEM
creating 92 HTTP operations 183
certificate format 9
debugging 163 local name of request element 182
key format 9
defining 87 Processing Metadata 183
persistent connections variables
matching rules 87 URI of top-level element 182
listing 368
processing rules 87 URL from client 182
service/connection/note 369
Processing Policy URL to backend 182
PIPE keyword 92
object pages XPath from request 183
PKCS #12
Main 323 resources mapping, AAA
certificate format 9
Policy Maps 324 AAA Info File 185
key format 9
Processing Rule available methods 183
PKCS #7
object pages 324 custom 183
certificate format 9
processing rules none 184
decrypting documents 107
client-to-server 87 TAM 184
encrypting documents 105
contexts 92 TFIM 184
signing documents 100
direction 87 XPath from resource extraction 185
verifying signed documents 103
error 87 results action
PKCS #8
processing policies 87 <results> element 161
key format 9
server-to-client 87 <url> element 161
pkcs7-decrypt.xsl file 107
two way 87 attachment protocol 160
pkcs7-encrypt.xsl file 106
protocols defining 140
pkcs7-sign.xsl file 101
supported 159 locating remote resources 159
pkcs7-verify.xsl file 103
Proxy Settings purpose 90
Policy Decision Point
Multi-Protocol Gateway 296 query parameters 160
See XACML PDP
pubcert: directory 202 specifying multiple URLs 159
Policy Parameters
defining 312 supported protocols 159
object pages results asynchronous action
Main 312 See results-async action
Policy Parameters 312
Index 387
results-async Saved configuration state 6 service/soap-fault-response variable 362
defining 141 Schema Exception Map service/soap-oneway-mep variable 366
results-async action object pages service/strict-error-mode variable 368
<results> element 161 Main 327 service/transaction-key variable 366
<url> element 161 Rules 327 service/transaction-name variable 366
attachment protocol 160 schemas service/transaction-timeout variable 366
locating remote resources 159 location 202 service/URI variable 79, 370
purpose 90 SDK (j2sdk1.4.2) 205 service/wsa/genpattern variable 370
query parameters 160 search parameters, LDAP 286 service/wsa/timeout variable 370
specifying multiple URLs 159 security certificates service/wsm/wsdl-error variable 370
supported protocols 159 shared service/wsm/wsdl-warning
rewrite action location 202 variable 370
purpose 90 Web browsers Services
rewrite header (rewrite) action location 202 Multi-Protocol Gateway Service 294
defining 142 Security Token Reference Services menu 1
rewrite header action See STR set variable (setvar) action
See rewrite action SecurityContextToken, WS-Trust defining 145
route action post processing, AAA 196 variable builder 162
overview 142 SecurityTokenReference element 358 set variable action
with style sheet 143 server pool See setvar action
with variables 144 See load balancer group set-target() extension function 143
with XPath expression 143 server state setvar action
route with style sheet action load balancer group 287 <results> element 161
See route-action action server-to-client rule 87 <url> element 161
route with variables action Service Monitors defining 145
See route-set action Multi-Protocol Gateway 301 purpose 90
route with XPath expression action service variables variable builder 162
See route-action action listing 362 SFTP Server
route-action action multistep/loop-count 133 Front Side Handler 77
defining multistep/loop-iterator 132 SFTP Server Front Side Handler
with style sheet 143 types 362 AAA Policy 78
with XPath expression 143 service/append-request-header/ authentication 78
purpose 90 variable 368 authorization 78
route-set action 159 service/append-response-header/ configuration considerations 78
defining 144 variable 368 metadata variables 78
locating remote resources 159 service/config-param/ variable 363 routing 79
purpose 90 service/connection/note variable 369 URI propagation 79
supported protocols 159 service/correlation-identifier URL specifications 79
variable 365 sharedcert: directory 202
service/error-code variable 367 Show Probe link 7
S service/error-ignore variable 367
service/error-message variable 367
sign action
defining 145
S11:actor SOAP attribute 152
service/error-protocol-reason-phrase generating signature
S11:mustUnderstand SOAP attribute 152
variable 367 confirmation 360
S12:mustUnderstand SOAP attribute 152
service/error-protocol-response ID references 357
S12:notUnderstood SOAP attribute 152
variable 367 purpose 90
S12:relay SOAP attribute 152
service/error-subcode variable 367 verifying signature confirmation 360
S12:role SOAP attribute 152
service/expiry variable 365 signature confirmation 359
SAML assertion
service/format variable 365 SignatureConfirmation element 359
authentication, AAA
service/lbhealth/ variable 288, 364 signed documents, PKCS #7
artifact 178
service/max-call-depth variable 363 decrypting 107
valid signature 173
service/message-identifier variable 365 encrypting 105
identity extraction, AAA
service/message-type variable 365 signing 100
AttributeStatement 169
service/mq-ccsi variable 364 verifying 103
AuthenticationStatement 170
service/mqmd-reply-to-q variable 364 skip-backside variable 363
post processing, AAA 195
service/mqmd-reply-to-qm variable 364 slm action
SAML assertions 359
service/persistence variable 365 defining 147
AAA Policy
service/priority variable 365 purpose 90
authentication 359
service/reply-to-q variable 363, 365 SLM action
identity extraction 359
service/reply-to-qm variable 363, 365 See slm action
verify action 359
service/report variable 365 SLM Action
SAML attributes
service/routing-url variable 79, 369 creating 332
defining, AAA Policy 264
service/routing-url-sslprofile object pages 332
SAML server
variable 369 SLM Credentials Class
authorization, AAA
service/set-request-header/ variable 368 creating 328
attribute query 189
service/set-response-header/ object pages 328
authorization query 188
variable 368
Save Config button 1, 4
388 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
SLM Policy
configuring
SSH (continued)
URL specifications 79
T
overview 328 ssh-password-metadata Processing TAM
creating 333 Metadata 78 ASCII configuration file 270
creating SLM Action objects 332 ssh/password variable 78 authentication, AAA 177
creating SLM Credentials Class ssh/publickey variable 78 authorization server replicas 271
objects 328 ssh/username variable 78 authorization, AAA 186
creating SLM policy objects 333 SSL configuration, general 270
creating SLM Resource Class client proxy, creating 19 configuring TAM objects 271
objects 330 forward proxy, creating 19 creating configuration files 271
creating SLM Schedule objects 332 reverse, proxy, creating 19 creating TAM objects 271
object pages 333 server proxy, creating 19 licensing 270
SLM Resource Class two-way proxy, creating 20 modifying configuration files 271
creating 330 SSL authentication 17 obfuscated configuration file 270
object pages 330 SSL Proxy Profile object pages 271
SLM Schedule creating refreshing certificates 272
creating 332 client proxy 19 resources mapping, AAA 184
object pages 332 forward proxy 19 security 270
smtp protocol 159 reverse proxy 19 SSL key file 270
SOAP attributes server proxy 19 SSL stash file 270
S11:actor 152 two-way proxy 20 tasktemplates: directory 203
S11:mustUnderstand 152 object pages 19 tcp protocol 159
S12:mustUnderstand 152 ssl-keyfile-pwd entry, [ldap] stanza 271 tcps protocol 159
S12:notUnderstood 152 Stateful Raw XML Handler 80 temporary: directory 203
S12:relay 152 Stateless Raw XML Handler 81 TFIM
S12:role 152 statistics, enabling 235 AAA 272
SOAP Header Disposition Table Status menu 1 credentials mapping, AAA 181
object pages store: directory 202 object 272
Main 336 STR dereference transform 358, 359 object pages 272
SOAP Header Refine strip-attachments action post processing, AAA 200
Instruction 336 defining 148 resources mapping, AAA 184
SOAP refinement transform 152 purpose 91 TFIM endpoint
SOAP request style sheets WS-Trust messages 272
healthcheck.xml 291 buffer-attachments.xsl 154 threat protection
SOAP service provider type 152 conformance-filter.xsl 129 denial-of-service
soap-refine.xsl style sheet 152 conformance-xform.xsl 155 multiple message 50
specifying remote locations 159 filter-accept-all.xsl 126 single message 49
specifying multiple URLs 159 filter-reject-all.xsl 126 dictionary attack 52
SPNEGO flushing the cache 353 message tampering 50
identity extraction, AAA 169 healthcheck.xsl 292 SQL injections 50
Kerberos AP-REQ 169 location 202 XML virus (X-Virus) 51
post processing, AAA 200 replay-filter.xsl 127 TIBCO EMS
sql action required-elements-filter.xsl 128 URL builder 54
defining 147 soap-refine.xsl 152 TIBCO EMS Front Side Handler
purpose 91 wssecurity-message-layout- purpose 82
SQL action filter.xsl 128 queues 82
See sql action Stylesheet Parameter support 82
SQL Data Source Multi-Protocol Gateway 310 topic spaces 82
defining 337 subdirectories TIBCO Rendezvous 82
high-level configuration 337 creating 203 TIBCO SmartSockets 82
object pages deleting 204 Tivoli Access Manager
Data Source Configuration SunJCE See TAM
Parameters 338 JCEKS 205 topic spaces
Main 337 support TIBCO EMS 82
SQL injections, protection 50 See customer support WebSphere JMS 84
sql protocol 159 Synchronous to WS-Addressing trademarks 377
SQL-Injection-Filter.xsl style sheet 50 Mode 37 transaction headers variables
SQL-Injection-Patterns.xml file 50 system variables listing 368
SSH listing 372 service/append-request-header/ 368
AAA Policy 78 system/map/debug 372 service/append-response-header/
authentication 78 system/tasktemplates/debug 372 368
authorization 78 system/map/debug variable 372 service/set-request-header/ 368
metadata variables 78 system/tasktemplates/debug service/set-response-header/ 368
routing 79 variable 372 transaction routing variables
streaming 78 listing 369
timeout 78 service/routing-url 369
URI propagation 79 service/routing-url-sslprofile 369
Index 389
transaction URL variables User objects variables (continued)
listing 369 export packages 211 MQ Host (continued)
service/URI 370 UsernameToken service/expiry 365
transaction variables identity extraction, AAA service/format 365
listing 366 derived-key 167 service/message-identifier 365
types 366 password-carrying 167 service/message-type 365
transform action post processing, AAA 198 service/mq-ccsi 364
See also xform action utilities service/mqmd-reply-to-q 364
attachments keytool 205 service/mqmd-reply-to-qm 364
buffering 154 service/persistence 365
defining buffer attachment service/priority 365
transform 154
defining conformance transform 155
V service/reply-to-q 365
service/reply-to-qm 365
validate action 155
defining SOAP refinement service/report 365
message tampering, protection 50
transform 152 MQ Proxy
purpose 91
defining standard transform listing 364
Validation Credentials
non-XML messages 150 service/correlation-identifier 365
creating
XML messages 149 service/expiry 365
non expiring, non-password-
overview 149 service/format 365
protected certificates 21
processing instruction-based service/message-identifier 365
select certificates 21
transform 151 service/message-type 365
types of lists 21
SOAP messages service/mq-ccsi 364
variable builder 162
refinement transform 152 service/mqmd-reply-to-q 364
variables
XML messages service/mqmd-reply-to-qm 364
asynchronous
conformance 155 service/persistence 365
service/soap-oneway-mep 366
defining 149 service/priority 365
asynchronous transactions
processing instruction-based 151 service/reply-to-q 365
listing 366
Transform binary action service/reply-to-qm 365
service/transaction-key 366
See xformbin action service/report 365
service/transaction-name 366
Transform using processing instruction Multi-Protocol Gateway
service/transaction-timeout 366
action backend-timeout 363
configuration service
See xformpi action service/reply-to-q 363
listing 363
two way rule 87 service/reply-to-qm 363
service/config-param/ 363
typeface conventions xi skip-backside 363
service/max-call-depth 363
multistep
error handling
log/soapversion 365
listing 367
U service/error-code 367
persistent connections
listing 368
ultimate service provider, SOAP 152 service/error-ignore 367
service/connection/note 369
Undo button 5 service/error-message 367
service
up operational state 6 service/error-protocol-reason-
listing 362
URL builder phrase 367
type 362
IMS Connect 52 service/error-protocol-
service/routing-url 79
MQ 53 response 367
service/URI 79
TIBCO EMS 54 service/error-subcode 367
ssh/password 78
WebSphere JMS 54 service/strict-error-mode 368
ssh/publickey 78
URL matching rule 87 extension
ssh/username 78
URL Rewrite Policy listing 370
system
object pages local/_extension/allow-
listing 372
Main 339 compression 371
system/map/debug 372
URL Rewrite Rule 339 local/_extension/donot-follow-
system/tasktemplates/debug 372
use cases redirect 371
transaction
for-each action 130 local/_extension/header/ 371
listing 366
User Agent local/_extension/http-10-only 371
type 366
object pages local/_extension/prevent-
transaction headers
Allow-Compression Policy 346 persistent-connection 371
listing 368
Basic-Auth Policy 344 local/_extension/sslprofile 371
service/append-request-header/
Chunked Uploads Policy 348 local/_extension/timeout 371
368
FTP Client Policies 349 general
service/append-response-header/
Inject Header Policy 347 listing 362
368
Main 342 service/soap-fault-response 362
service/set-request-header/ 368
Proxy Policy 342 list, all available 373
service/set-response-header/ 368
Pubkey-Auth Policy 345 load balancer service
transaction routing
Restrict to HTTP 1.0 Policy 347 listing 364
listing 369
Soap-Action Policy 345 service/lbhealth/ 288, 364
service/routing-url 369
SSL Proxy Profile 343 MQ Host
service/routing-url-sslprofile 369
user authentication listing 364
RADIUS 326 service/correlation-identifier 365
390 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
variables (continued) WebGUI (continued) WTX (continued)
transaction URL Status menu 1 output contexts 318
listing 369 viewing object status 6 xformbin action 150, 318
service/URI 370 viewing object-specific logs 5
types 361 viewing probe data 7
using 361
Web Service Proxy
Welcome screen 1
WebSphere JMS
X
X-Virus, protection 51
backend-timeout 363 URL builder 54
X.509 certificates 358
service/reply-to-q 363 WebSphere JMS Front Side Handler
AAA Policy
service/reply-to-qm 363 purpose 84
authentication 358
skip-backside 363 queues 84
identity extraction 358
WSM support 84
verify action 358
listing 370 topic spaces 84
XACML PDP
service/wsa/genpattern 370 WebSphere Transformation Extender
authorization, AAA 191
service/wsa/timeout 370 See WTX
configuring 277
service/wsm/wsdl-error 370 Welcome screen 1
object pages 277
service/wsm/wsdl-warning 370 workstation
XDoS, protection 49
verify action 157 uploading files 204
xform
generating signature WS-Addressing
defining standard transform 149
confirmation 360 Multi-Protocol Gateway 304
XML messages 149
Kerberos AP-REQ tokens, remote 359 configuring 36
xform action
purpose 91 Synchronous to WS-Addressing 37
defining 149
SAML assertions, remote 359 WS-Addressing to Synchronous 38
defining buffer attachment
verifying signature confirmation 360 WS-Addressing to
transform 154
X.509 certificates, remote 358 WS-Addressing 40
defining conformance transform 155
View button 3 WS-Addressing to Synchronous
defining SOAP refinement
View Logs link 5 Mode 38
transform 152
View Status link 6 WS-Addressing to WS-Addressing 40
purpose 91
WS-ReliableMessaging
xformbin action
Multi-Protocol Gateway 304
defining 150
W Web Service Proxy
configuring 42
purpose 91
Web Management Interface 1 xformpi action
WS-SecureConversation
Web Service Proxy defining 151
authentication, AAA 178
defining policy parameters 312 purpose 91
credentials mapping, AAA 181
service variables XML Manager
identity extraction, AAA 168
backend-timeout 363 caches
WS-Security
service/reply-to-q 363 flushing the document cache 353
message layout filter 128
service/reply-to-qm 363 flushing the stylesheet cache 353
WS-Security Header
skip-backside 363 configuring 352
identity extraction, AAA
WS-ReliableMessaging document cache, flushing 353
BinarySecurityToken 168
configuring 42 Load Balancer Group
UsernameToken, derived-key 167
Web services monitors DataPower service 55
UsernameToken,
configuring 235 modifying 352
password-carrying 167
enabling 235 object pages 352
WS-Security Management
overview 234 XML virus, protection 51
See WSSM
specifying dual thresholds 237 XPath bindings
WS-Trust
web-mgmt command 1 AAA Policy 264
authentication, AAA 175
WebGUI XPath matching rule 87
identity extraction, AAA 169
accessing 1
post processing, AAA 196
Administration menu 1
WS-Trust messages
applying configuration changes 4
canceling changes 4
TFIM endpoint 272 Z
WSM variables z/OS NSS authentication
cloning services 6
listing 370 authentication, AAA 177
common tasks 4
service/wsa/genpattern 370 z/OS NSS authorization
dashboard 1
service/wsa/timeout 370 authorization, AAA 187
deleting objects 5
service/wsm/wsdl-error 370 z/OS NSS Client
Domain list 1
service/wsm/wsdl-warning 370 creating 354
exporting objects 5
wssecurity-message-layout-filter.xsl style overview 353
logging in 1
sheet 128
Logout button 1
WTX
Network menu 1
DPA 317
Objects menu 1
Exported Files 317
resetting configuration 5
input contexts 318
reverting changes 5
Mapping Logic Disabled 317
Save Config button 1
Named Inputs 321
saving configuration changes 4
Named Outputs 321
Services menu 1
Index 391
392 IBM WebSphere DataPower SOA Appliances: Multi-Protocol Gateway Developers Guide
Printed in USA