Back Forward Service JMS form
Completing the Request tab

About Service JMS rules

Use the Request tab to map the incoming data to properties on the clipboard.

Field

Description

Message Type

Specify the message type of the messages to be processed by this service rule:

  • Empty Message — Contains no data in the message body. You map header values and properties only.
  • Text Message — Contains one java.lang.String object.
  • Object Message — Contains one serializable Java object.
  • Bytes Message — Contains a stream of bytes with no explicit structure.
  • Stream Message — Contains a stream of Java primitive values, Java objects, or byte arrays. Map their values in the order in which they appear in the stream in the Message Data section.
  • Map Message — A list of name/value pairs with names as String objects and values as String or other Java objects, Java primitive types, or byte arrays.

Message Headers

Use the fields in this section to map any data of interest from the header fields of the JMS message.

Field

Description

Name

zzzSelect the type of JMS message header:

  • JMSType — A value that has meaning to the application sending the message. For example, the values of the JMSType header can be used as message selector criteria by the JMS listener that routes messages to this service rule.
  • JMSMessageID — Identifier value that is automatically returned in the JMSCorrelationID property of the response header.
  • JMSCorrelationID — An optional text value available to link a series of messages.
  • JMSDestination — The Queue name or Topic name from which this message originated.
  • JMSReplyTo — Topic or Queue name to reply to, or the literal NULL.
  • JMSDeliveryMode — One of the literal values NON_PERSISTENT or PERSISTENT.
  • JMSPriority — A priority value 0 to 9.
  • JMSTimeStamp — Time the message arrived.
  • JMSExpiration — Optional target delivery time, set by the sender client. Zero indicates that a message never expires.
  • JMSRedelivered — True if this is a possible duplicate because of redelivery.
Map To

SmartPromptSpecify the destination or type of destination for the value. Typically, Clipboard is the correct option to choose.

In unusual cases, select XML ParseRule, Delimited ParseRule, Structured ParseRule, HTML PostData, or a function in a MapTo library.

Map To Key

SmartPromptSpecify the key to locating the property or the rule in the destination specified in the Map To field:

  • If the Map To value is Clipboard, enter the property name to which the data is to be mapped.
  • If the Map To value is a Rule-Utility-Function from a MapTo library, either select a property to hold the results of the function or leave this field blank, as appropriate for the function.

You can map the data to the parameter page of the activity rather than the primary page by using the param keyword.

Message Properties

Use the fields in this section to map data from any JMS properties defined by the application sending the request.

Process Commander provides four application-specific JMS properties that the sender can use to provide information about the messages consumed by JMS services. (See More about JMS Listeners for details on these properties.) You do not need to map the values of those properties — they are processed automatically.

Use this section to map message properties defined by the external application, not by Process Commander.

Field

Description

Data Type

SmartPrompt zzzSelect the data type of the message property, one of the Java primitive data types String, Boolean, Byte, Integer, Short, Long, Float, or Double.

Description

Enter a short text description of the message property.

Map To

SmartPrompt Specify the destination or the type of destination for the value in Process Commander. This field presents a subset of the following options, as appropriate for the data type you specified:

  • Clipboard — Map to the page name or property on the clipboard specified by the Map To Key field.
  • XML ParseRule — The incoming data is a stream of XML to be parsed using the actions defined in a parse XML rule.
  • Delimited ParseRule — The incoming data is in a delimited format to be processed by a delimited parse rule.
  • Structured Parserule — The incoming data has a fixed format with fixed-length fields to be processed by a structured parse rule.
  • HTML PostData — The incoming data value from the sending application is a stream of data from an HTML form that contains property key/value pairs in POST format.

If more choices appear, they identify a custom function rule in a MapTo library. Review the function rule to determine what it does.

Map To Key

SmartPromptSpecify the key to locating the property or the rule in the destination specified in the Map To field:

  • If the Map To value is Clipboard, enter the property name to which the data is to be mapped.
  • If the Map To value is XML Parse Rule, enter the Namespace name (second key part) and the Element Name name — third key part — of the appropriate XML parse rule. Separate the Namespace from the Element Name with a space. That is, use the syntax "NamespaceName ElementName" and not "NamespaceName.ElementName." The system uses the page class of this service rule as the first key part of the parse rule.
  • OldTo maintain backward compatibility for service rules created in releases before V5.2, you can specify a data mapping with only a Namespace value. In that case, the system determines the Element Name key at runtime from the root element of the incoming XML document. However, this mapping works only if the Parser Type of the XML parse rule is set to DOM and validation is not enabled. As a best practice, specify both the Namespace Name and the Element Name of the rule.

  • If the Map To value is Delimited ParseRule, enter the Namespace and Record Type names (second and third key parts) of the appropriate delimited parse rule. The system uses the Applies To class of this service rule as the first key part of the parse rule.
  • If the Map To value is Structured ParseRule, enter the Record Type (third key part) of a structured parse rule. The system uses the Applies To class of this service rule as the first key to the parse rule.
  • If the Map To value is a Rule-Utility-Function from a MapTo library, either select a property to hold the results of the function or leave this field blank, as appropriate for the function.
  • If the Map To value is HTML PostData, leave this field blank. The name/value pairs in the string will be mapped to the parameter page of the service activity rather than the primary page.

Message Data

Use the fields in this section to map the data from the body of the message. Note the following:

Field

Description

Data Type

SmartPrompt zzzSelect the data type of the item you are mapping, one of the Java primitive data types String, Boolean, Byte, Integer, Short, Long, Float, and Double. If you selected a Message Type of Object, Stream, or Map, an additional data type of Object is available.

Message Key

Applies only when the Message Type is set to Map Message. Enter the name of the item you are mapping. Process Commander uses it as the lookup name for the item in the incoming list.

Description

Enter a short description of the item you are mapping.

Map To

SmartPrompt Specify the destination or the type of destination for the value in Process Commander. For the list of options, see the description of the Map To field from the Message Properties section.

Map To Key

SmartPromptSpecify the key to locating the property or the rule in the destination specified in the Map To field. For the list of options, see the description of the Map To Key from the Message Properties section.

zzz About Service JMS rules