+

Search Tips   |   Advanced Search

Configure a WS-ReliableMessaging policy set

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 command scripts to configure a policy set for reliable messaging.

We can configure a reliable messaging policy set using the wsadmin tool as described in this task, or we can configure a reliable messaging policy set by .

The following default policy sets work with WS-ReliableMessaging applications:

See WS-ReliableMessaging default policy sets.

If we can use any of these default policy sets without needing to modify their configuration, we need not complete this task. We are ready to attach the application to the default policy set and define the bindings to use.

At any stage - that is, before or after we have built your reliable web service application, or configured your policy sets - we can set a property that configures endpoints to only support clients that use reliable messaging. This setting is reflected by WS-Policy if engaged.

To configure a reliable messaging policy set using the wsadmin tool:


Tasks

  1. Create a policy set. Use the createPolicySet command to create a new policy set, or the copyPolicySet command to copy and rename an existing policy set - either one that we have previously created, or one of the two WS-ReliableMessaging default policy sets. See Create and copying policy sets .

  2. If the policy set does not include both the policy types WSReliableMessaging and WSAddressing, add these policy types using the addPolicyType command as described in Create and copying policy sets . For example:
    AdminTask.addPolicyType('[-policySet PolicySet1 -policyType WSReliableMessaging]')
    AdminTask.addPolicyType('[-policySet PolicySet1 -policyType WSAddressing]')
    
    These policy types contain the configuration options that support WS-ReliableMessaging. WS-Addressing provides the asynchronous request and reply capabilities for WS-ReliableMessaging, and is also required for WS-ReliableMessaging Version 1.1 synchronous messaging.

    • To use secure conversation and reliable messaging policies in the same policy set, the secure conversation bindings must be configured to require that the reliable messaging headers are signed. The reliable secure profile default policy sets (WS-I RSP and WS-I RSP ND) are specifically designed and configured to use secure conversation and reliable messaging in the same policy set. If we use a copy of one of the reliable secure profile default policy sets (WS-I RSP and WS-I RSP ND), no further configuration of the secure conversation bindings is required. Otherwise, see Configure WS-SecureConversation to work with WS-ReliableMessaging.

    • WS-ReliableMessaging Version 1.1 messaging requires WS-Addressing to be mandatory. If we use a policy set that includes WS-ReliableMessaging and WS-Addressing policies, and the WS-Addressing policy is configured as optional, then WAS overrides the WS-Addressing setting and automatically enables WS-Addressing.

  3. Configure the WS-ReliableMessaging policy type attributes.

    For the WS-ReliableMessaging policy we can configure the version of the WS-ReliableMessaging standard to use, the order in which messages are delivered, and the required quality of service (the reliability level) for message delivery. For detailed information about these configurable attributes, see WS-ReliableMessaging settings.

    Use the setPolicyType command to configure these attributes. For example:

    AdminTask.setPolicyType('-policySet PolicySet1 -policyType WSReliableMessaging -attributes "[[inOrderDelivery false][specLevel 1.0]
    [enabled true][qualityOfService managedPersistent][type WSReliableMessaging]]" -replace'
    

  4. If required, configure the WS-Addressing policy type attributes. For example, the default WS-Addressing policy messaging style is Synchronous and asynchronous, which specifies that there is no restriction on the targeting of response messages. However if we enable policy sharing, the WS-Policy framework determines which style to use, and has a preference for the synchronous request-response pattern. Because the WS-Policy framework takes precedence, reliable messages are sent in a synchronous request-response pattern even if the client invokes the service asynchronously. To enforce asynchronous messaging, set the WS-Addressing policy messaging style to asynchronous only.

    Use the setPolicyType command to configure these attributes. For example:

    AdminTask.setPolicyType('[-policySet PolicySet1 -policyType WSAddressing 
    -attributes "[[wsaMode WSA_ASYNC]]"]')
    
    For detailed information about these configurable attributes, see WS-Addressing policy settings.

  5. Save changes to the master configuration.

    To save the configuration changes, enter:

    AdminConfig.save()
    


What to do next

We are now ready to attach the application to the default policy set and define the bindings to use.

  • Configure WS-SecureConversation to work with WS-ReliableMessaging
  • Configure endpoints to only support clients that use WS-ReliableMessaging
  • Add assured delivery to web services through WS-ReliableMessaging
  • Configure application and system policy sets for web services
  • Use WS-Policy to exchange policies in a standard format
  • WS-ReliableMessaging
  • Detect and fix problems with WS-ReliableMessaging