Attaching and binding a WS-ReliableMessaging policy set to a web service application by using the wsadmin tool

To configure a web service application to use WS-ReliableMessaging, you attach a policy set that contains a WS-ReliableMessaging policy type. This policy type offers a range of qualities of service: managed persistent, managed non-persistent, or unmanaged non-persistent. Use the wsadmin tool to attach the policy set to your application, and (for managed qualities of service) to define bindings to a service integration bus and messaging engine.

Before you begin

You can attach a WS-ReliableMessaging policy set and define bindings by using the wsadmin tool as described in this task, or you can attach and bind a WS-ReliableMessaging policy set by using the administrative console.

This task assumes that you have already developed and installed the web service application to which you want to attach a policy set.

The following default policy sets work with WS-ReliableMessaging applications:
  • WS-I RSP
  • WS-I RSP ND
  • LTPA WS-I RSP
  • Username WS-I RSP
  • WSReliableMessaging 1_0
  • WSReliableMessaging default
  • WSReliableMessaging persistent
For more information, see WS-ReliableMessaging default policy sets.

If you can use any of these default policy sets, or you have configured your own reliable messaging policy set, then you are ready to complete this task.

About this task

Use this task to complete the following broad actions:
  1. Attach a reliable messaging policy set (either a default policy set or one that you have created) to an aspect of your application (that is, application level or web service level). Policy sets define the reliability level (quality of service) and other configuration options that you want to apply to your reliable messaging application.
  2. Define the bindings for each attachment to a policy set that specifies a managed quality of service. That is, choose the service integration bus and messaging engine to use to maintain the state for the managed persistent and managed non-persistent qualities of service.

To attach a WS-ReliableMessaging policy set and define bindings by using the wsadmin tool, complete the following steps:

Procedure

  1. Attach a policy set to your reliable messaging application at either application level or service level.
    Use the createPolicySetAttachment command as described in Creating policy set attachments by using the wsadmin tool. Set the -policySet parameter to the name of the reliable messaging policy set that you want to use. For example: WS-I RSP ND
    Note:
    • You can attach one policy set at each level.
    • You can only apply a WS-ReliableMessaging policy at application level or service level.
    • If you apply reliable messaging at service level, then all services must use the same WS-ReliableMessaging policy and bindings values.
    • You can attach any policy set at operation level. For a policy set that includes the WS-ReliableMessaging policy, attachment at the operation level configures the other components of the policy set (for example WS-Security and WS-Addressing) but any WS-ReliableMessaging configuration at operation level is ignored.

    This command returns an attachment ID number. If your chosen policy set specifies a managed quality of service, make a note of this number. In the next step you use it to define the binding.

  2. If your chosen policy set specifies a managed quality of service, define bindings to a service integration bus and messaging engine.
    If the policy set instance specifies managed non-persistent or managed persistent quality of service, choose the service integration bus and messaging engine that is to manage the WS-ReliableMessaging state. Use the setBinding command as described in Creating policy set attachments using the wsadmin tool. Set the -policyType parameter to WSReliableMessaging. Set the bus name and the messaging engine name by using the following syntax for the -attributes parameter:
    -attributes "[[busName ReliableMessagingBus] 
                 [messagingEngineName messaging_engine_name]]"
    The messaging engine name is in the format nodeName.serverName-busName for a messaging engine on a single server, or clusterName.nnn-busName for a messaging engine in a cluster.
    Note: When many applications use the same messaging engine, it can impact performance. Factors to consider include the number of applications that are already binding to the messaging engine, the CPU utilization, and the message throughput. To improve performance for a single server configuration, create a new messaging engine to bind to your application.
  3. Save your changes to the master configuration.
    To save your configuration changes, enter the following command:
    AdminConfig.save()
[z/OS]

What to do next

If your chosen policy set specifies a managed quality of service, configure the sib.wsrm.tokenLockTimeout custom property on the messaging engine that you specified in the policy binding. Set the value of the property to be less than the amount of time that the control region waits before ending an inactive servant region. Setting this value ensures that the control region does not end the servant region while WS-ReliableMessages are locked. Refer to Service integration custom properties for more information.