Attaching and binding a WS-ReliableMessaging policy set to a web service application
To configure a web service application to use WS-ReliableMessaging, you attach a policy set containing 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 the application, and (for managed qualities of service) to define bindings to a service integration bus and messaging engine.
Attach a WS-ReliableMessaging policy set and define bindings using the wsadmin tool as described in this task, or we can attach and bind a WS-ReliableMessaging policy set by .
This task assumes that we have already developed and installed the web service application to which we 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
See WS-ReliableMessaging default policy sets.
If we can use any of these default policy sets, or we have configured our own reliable messaging policy set, then we are ready to complete this task.
Complete the following broad actions:
- Attach a reliable messaging policy set (either a default policy set or one that we have created) to an aspect of the application (that is, application level or web service level). Policy sets define the reliability level (quality of service) and other configuration options to apply to your reliable messaging application.
- 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 using the wsadmin tool:
Tasks
- Attach a policy set to your reliable messaging application at either application level or service level.
Use the createPolicySetAttachment command as described in Create policy set attachments . Set the -policySet parameter to the name of the reliable messaging policy set to use. For example: WS-I RSP ND
- Attach one policy set at each level.
- We can only apply a WS-ReliableMessaging policy at application level or service level.
- If we apply reliable messaging at service level, then all services must use the same WS-ReliableMessaging policy and bindings values.
- 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 our chosen policy set specifies a managed quality of service, make a note of this number. In the next step we use it to define the binding.
- If our 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 Create policy set attachments . Set the -policyType parameter to WSReliableMessaging. Set the bus name and the messaging engine name 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.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 the application.
- Save changes to the master configuration.
To save the configuration changes, enter:
AdminConfig.save()
(ZOS)
What to do next
If our chosen policy set specifies a managed quality of service, configure the sib.wsrm.tokenLockTimeout custom property on the messaging engine 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.
Add assured delivery to web services through WS-ReliableMessaging Configure application and system policy sets for web services WS-ReliableMessaging Detect and fix problems with WS-ReliableMessaging Messaging engines [Collection] (ZOS) Service integration custom properties