Use the attributes parameter for the setPolicyType and
setBinding commands to specify additional configuration information
for the ReliableMessaging policy and policy set binding. The WSReliableMessaging
quality of service (QoS) is only available for application policy
sets.
WSReliableMessaging is an interoperability standard for the reliable
transmission of messages between two endpoints. Use WSReliableMessaging
to secure and verify transactions when using web services between
businesses.
Use the following commands and parameters
in the PolicySetManagement group of the AdminTask object to customize
your policy set configuration.
- Use the -attributes parameter for the getPolicyType
and getBinding commands to view the properties for your policy and
binding configuration. To get an attribute, pass the property name
to the getPolicyType or getBinding command.
- Use the -attributes parameter for the setPolicyType
and setBinding commands to add, update, or remove properties from
your policy and binding configurations. To add or update an attribute,
specify the property name and value. The setPolicyType and setBinding
commands update the value if the attribute exists, or adds the attribute
and value if the attribute does not exist. To remove an attribute,
specify the value as an empty string (""). The -attributes parameter
accepts a properties object.
Note: If a property name or value supplied with the -attributes parameter
is not valid, then the setPolicyType and setBinding commands fail
with an exception. The property that is not valid is logged as an
error or warning in the SystemOut.log file. However,
the command exception might not contain the detailed information for
the property that caused the exception. When the setPolicyType and
setBinding commands fail, examine the SystemOut.log file
for any error and warning messages that indicate that the input for
the -attributes parameter contains one or multiple
properties that are not valid.
New feature: This topic
references one or more of the application server log files. Beginning
in WebSphere Application Server Version 8.0 you can configure the
server to use the High Performance Extensible Logging (HPEL) log and
trace infrastructure instead of using
SystemOut.log ,
SystemErr.log,
trace.log,
and
activity.log files or native z/OS logging
facilities. If you are using HPEL, you can access all of your log
and trace information using the LogViewer command-line tool from your
server profile bin directory. See the information about using HPEL
to troubleshoot applications for more information on using HPEL.
newfeat
For transitioning users: In WebSphere
Application Server Version 7.0 and later, the security model was enhanced
to a domain-centric security model instead of a server-based security
model. The configuration of the default global security (cell) level
and default server level bindings has also changed in this version
of the product. In the WebSphere Application Server Version 6.1 Feature
Pack for Web Services, you can configure one set of default bindings
for the cell and optionally configure one set of default bindings
for each server. In Version 7.0 and later, you can configure one or
more general service provider bindings and one or more general service
client bindings. After you have configured general bindings, you can
specify which of these bindings is the global default binding. You
can also optionally specify general binding that are used as the default
for an application server or a security domain.
trns
To support a mixed-cell environment, WebSphere
Application Server supports Version 7.0 and Version 6.1 bindings.
General cell-level bindings are specific to Version 7.0 and later
Application-specific bindings remain at the version that the application
requires. When the user creates an application-specific binding,
the application server determines the required binding version to
use for application.
WSReliableMessaging policy
properties
Configure the WSReliableMessaging policy by specifying
the following properties with the setPolicyType command:
- specLevel
- Choose the WS-ReliableMessaging standard to use for reliable transmission
of your messages. The WS-ReliableMessaging specification Version 1.1
is the default value. Use the following information to choose a specification
level:
- Specify 1.0 as the value for the specLevel
attribute to use the WS-ReliableMessaging specification Version 1.0,
February 2005 specification level.
- Specify 1.1 as the value for the specLevel
attribute to use the OASIS WS-ReliableMessaging specification Version
1.1, August 2006 specification level.
The following example code sets the specLevel property to
the OASIS WS-ReliableMessaging specification Version 1.1, August
2006:
AdminTask.setPolicyType('[-policySet "CustomWSReliableMessaging" -policyType
WSReliableMessaging -attributes "[[specLevel 1.1]]"]')
- inOrderDelivery
- Specifies whether to process messages in the order that they are
received. If you use the inOrderDelivery property, then inbound messages
might be queued while waiting for earlier messages.
The following
example code enables the inOrderDelivery property:
AdminTask.setPolicyType('[-policySet "CustomWSReliableMessaging" -policyType WSReliableMessaging -attributes "[[inOrderDelivery true]]"]')
- qualityOfService
Specifies the quality of the WSReliableMessaging service to
use. Define one of the following three values for the qualityOfService
attribute:
- unmanagedNonPersistent
This setting tolerates network and remote
system failures. The unmanagedNonPersistent quality of service is
non-transactional. With this setting configured, messages are lost
if a server fails. This quality of service is supported for all environments
only if the environment is configured as a web service requester.
- managedNonPersistent
This setting tolerates system, network,
and remote system failures. However, the message state is discarded
when the messaging engine restarts. The managedNonPersistent quality
of service is non-transactional. This setting prevents message loss
if a server fails. However, messages are lost if the messaging engine
fails. Managed and thin client applications cannot use this quality
of service.
- managedPersistent
This setting tolerates system, network, and
remote system failures. With this setting, messages are processed
within transactions, persisted at the web service requester and provider.
Messages can be recovered if a server fails. Messages that are not
successfully transmitted at the time of failure continue when the
messaging engine or application restarts. Managed and thin client
applications cannot use this quality of service.
The following example sets the qualityOfService property
as unmanaged nonpersistent:
AdminTask.setPolicyType('[-policySet "CustomWSReliableMessaging" -policyType
WSReliableMessaging -attributes "[[qualityOfService unmanagedNonPersistent]]"]')
The following example uses the setPolicyType
command to set a value for each policy property:
AdminTask.setPolicyType('[-policySet "CustomWSReliableMessaging" -policyType
WSReliableMessaging -attributes "[[specLevel 1.1][inOrderDelivery true][qualityOfService
unmanagedNonPersistent]]"]')
WSReliableMessaging binding configuration attributes
If
you set the qualityOfService policy property to managedNonPersistent
or managedPersistent, configure the WSReliableMessaging binding by
specifying values for the following properties with the setBinding
command:
- busName
- The name of the service integration bus that contains the messaging
engine to use for the managedNonPersistent or managedPersistent Quality
of Service options.
The following example sets the busName property
as
myBus:
AdminTask.setBinding('[-bindingLocation "" -bindingName cellWideBinding2 -policyType
WSReliableMessaging -attributes "[[busName myBus]]"]')
- messagingEngineName
- The name of the messaging engine to use for the managedNonPersistent
or managedPersistent quality of service options.
The following example
sets the messagingEngineName property as
messagingEngine001:
AdminTask.setBinding('[-bindingLocation "" -bindingName cellWideBinding2 -policyType
WSReliableMessaging -attributes "[[messageEngineName messageEngine001]]"]')
The following code example demonstrates how
to use the setBinding command to set values for each binding attribute:
AdminTask.setBinding('[-bindingLocation "" -bindingName cellWideBinding2 -policyType
WSReliableMessaging -attributes "[[busName myBus][messageEngineName messageEngine001]]"]')