Show
all
If the JMS service uses the Point-to-Point
messaging
model and the request messages will have a queue or topic specified in
their JMSReplyTo
header fields, use the Response tab to specify how the service rule constructs
the response to be sent. You can set up more than one response, based on
conditions. (If the JMS service uses the Publish-Subscribe
messaging model, responses are not expected; leave this tab blank.)
The list of response conditions is evaluated in order, and the first
condition that evaluates to true
determines the response
data returned to the client. The system sends responses to the queue
specified in the JMSReplyTo
header value in the request
message.
Response
Condition
Field
|
Description
|
Response
Condition
|
|
Condition
|
Specify
conditions that determine the format and content of the
response message.
Default — Process Commander does
not evaluate the data. It returns the specified response
message data. Enter Default in the last row
in the array.
When — The system evaluates the
when condition specified by the When Key
field. If true, it returns the response message data. If
false, it continue evaluating the next when condition rule
in the list. If all specified when condition rules are
false, it returns the default response data. Use this
feature to extend the normal set of fatal error conditions
that result in exceptions returned to the client, such as
inappropriate inputs to the service activity or other
tests you define.
Queue When — The system evaluates
the when condition rule specified by the When
Key field. If the condition evaluates to
true , the system queues the service request
and returns the queue item ID of the service
request.
If you configure a
Queue When condition, you must specify a
request processor in the Request
Processor field on the Service tab. For more information, see the
Pega Developer Network
article PRKB-25031 How to create a service that queues
failed service requests for another attempt.
Mapping Error — If an error occurs
while mapping incoming data from the request message to
the clipboard, Process Commander returns the specified
response message data. If the list of response conditions
does not include an entry for mapping errors, Process
Commander returns a standard error report message to the
client application.
Security Error — If an error occurs
while authenticating the application client credentials,
Process Commander returns the specified response message
data. If the list of response conditions does not include
an entry for security errors, Process Commander returns a
standard error report message to the client
application.
Service Error — If a valid instance
of the service activity cannot be found, the system sends
the specified response message data. If the list of
response conditions does not include an entry for service
errors, the system returns a standard error report message
to the client application.
|
When
Key
|
Optional. If the
Condition value is When or
Queue When , specify the name — second key
part — of the when condition rule to be evaluated.
B-17208
For example, your service activity can set a property
value to 0 initially, and to a positive integer when it
detects any application-related issues. The when condition
rule can test whether the property has a non-zero value.
TANDP 9/2/05
|
Message Type
|
B-17206 Select the type of the
response:
None — No response is sent.
Empty Message — Contains a message
with headers and/or message properties, but no message
data.
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 are to appear
in the response.
Map Message — Contains 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.
|
Requestor
Options
|
Indicate whether the system is to keep this
requestor session open, or close it after it sends the
response message for this condition.
If the requestor session is left open, the client
application can reuse this requestor session by referencing
it in the PegaRULES_SessionID property of the
next request message.
|
Message
Headers
Click the triangle to access these fields. If the response is to
include JMS headers, complete the fields in this section.
Field
|
Description
|
Name
|
Select 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.
JMSCorrelationID — the JMS listener
that routes messages to this service rule automatically
copies the value from the JMSMessageID
message header from the request message to this header in
the response. To override the default value for
JMSCorrelationID , map a value for it on this
tab.
JMSDeliveryMode — One of the
literal values NON_PERSISTENT or
PERSISTENT .
JMSPriority — A priority value 0 to
9.
JMSTimeToLive — A value in
milliseconds that specifies how long the message is to
stay on the queue.
|
Description
|
Enter a short description of the header.
|
Map
From
|
Specify
the source or the type of source of the value in your application:
Clipboard — The source is a
property or a page on the clipboard.
Constant — The source is a fixed
value that does not change.
XML Stream — The source is a stream
of XML data formatted by an XML Stream rule.
HTML Stream — The source is a
stream of HTML data formatted by an HTML rule.
HTML Frame — The source is a stream
of HTML data generated by the service activity.
If more choices appear, they each identify a custom
function rule in a MapFrom library. Review the
function rule to determine what it does.
|
Map From
Key
|
Specify
the key to locating the property or rule in the source
specified in the Map From field:
- If the Map From value is
Clipboard , enter the reference to the
property.
- If the Map From value is
Constant , enter a literal text string. To
include blank spaces in your text string, surround the
string with double quotes.
- If the Map From value is
XML
Stream , enter either the Stream
Name (second key) of the appropriate XML Stream
rule or a page name and stream name using the syntax
PageName.StreamName. (The page must be present on the
clipboard when the service rule runs for rule resolution
to find the rule.) If you specify the stream name only,
the system uses the Page Class of this
service rule (on the Service
tab) as the first key part of the HTML rule.
- If the Map From value is
HTML
Stream , enter either the Stream
Name (second key) of the appropriate HTML rule or
a page name and stream name using the syntax
PageName.StreamName. (The page must be present on the
clipboard when the service rule runs for rule resolution
to find the rule.) If you specify the stream name only,
the system uses the Page Class of this
service rule (on the Service
tab) as the first key part of the HTML rule.
- If the Map From value is
HTML
Frame , enter the name of the Frame specified in the
Show-HTML step of the service activity. Use this to return
data from activities that were originally written for
interactive browser clients and use the Show-HTML
method.
- If the Map From value is a
Rule-Utility-Function from a
MapFrom library,
either select the property that holds the value to be
processed by the function or leave this field blank, as
appropriate for the function.
|
Message
Properties
Use the fields in this section to map data for any JMS properties
defined by the application sending the request.
Process Commander provides four application-specific JMS properties
that contain information for response messages. (See
More about JMS Listeners for details on these properties.) Do not
map the values of those properties — they are managed by the
listener and are included only when necessary.
Field
|
Description
|
Data
Type
|
Select 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 description of the message property.
|
Map
From
|
Specify
the source or the type of source of the value in Process
Commander. See the options described above for the
Message Header section.
|
Map From
Key
|
Specify
the key to locating the property or rule in the source
specified in the Map From field. See the
options listed above for the Message Header
section.
|
Message
Data
Use the fields in this section to define the body of the response
message. Note the following: B-20128 Wizard
- If the Message Type is set to
Empty
Message
, do not create any rows in this section.
- If the Message Type is set to
Text
Message
, include one row only in this section. The data type
of the mapping must be set to String
.
- If the Message Type is set to
Object
Message
, include one row only in this section. The data type
of the mapping must be set to Object
.
- If the Message Type is set to
Stream
Message
, create data mappings for each of the items in the
stream in the order in which they will be received.
Field
|
Description
|
Data
Type
|
Select the data type
of the item you are mapping, one of the Java primitive data
types String , Boolean ,
Byte , Integer , Short ,
Long , Float , or
Double .
|
Description
|
Enter a short description of the item you are mapping.
|
Map From
|
Specify
the source or the type of source of the value in Process
Commander. See the options above for the Message
Header section.
|
Map From
Key
|
Specify
the key to locating the property or rule in the source
specified in the Map From field. See the
options listed above for the Message Header
section.
If this is a Queue When mapping or the
mapping for a service that processes service requests
asynchronously, enter Param.pxQueueItemID . For
information see Pega Developer Network articles PRKB-25031 How to create a service
that queues failed service requests for another attempt
or PRKB-25030 How to create a service that processes
requests asynchronously.
|
About Service JMS
rules