Message Flow defines the implementation of a proxy service. Message Flows can include pipeline pairs and the following nodes: Start, Route, and Branch. To learn how to implement Message Flow, see Viewing and Changing Message Flow.
Pipelines represent the bulk of processing logic in a message flow. A pipeline is a sequence of stages representing a non-branching one-way processing path. Pipelines are used for request and response paths in Pipeline Pair nodes as well as for error handlers.
Pipelines are typed into one of three categories:
Table 17-1 Pipeline Categories
Category
Description
Request
Request pipelines are used for processing the request path of the Message Flow.
Response
Response pipelines are used for processing the response path of the Message Flow.
Error
Error pipelines are used as error handlers.
To implement the processing logic of a Proxy, request and response pipelines are paired together into Pipeline Pair nodes. These Pipeline Pair nodes can be combined with other nodes into a single-rooted tree structure to control overall flow. The Branch node allows you to conditionally execute parts of the message flow, and the Route node is used at the end of the flow to route the message to other services. This tree structure allows for a clear overview of the Message Flow behavior, making both route actions and branch conditions explicit parts of the overall design.
A message flow tree is constructed by chaining together instances of these top-level components:
Table 17-2 Message Flow Element Categories
Category
Description
Pipeline pair node
The pipeline pair node ties together a single request and a single response pipeline into one top-level element. A pipeline pair node may have only 1 direct descendant in the message flow tree. During request processing, only the request pipeline is executed when visiting a pipeline pair node. When reversing the path for response processing, only the response pipeline is executed.
A branch node allows processing to proceed down exactly one of several possible paths. Branching is driven by a simple lookup table with each branch tagged with a simple but unique string value. A variable in the message context is designated as the lookup variable for that node, and its value is used to determine which branch to follow. If no branch matches the value of the lookup variable, then the always-present default branch is followed. Setting the value of the lookup variable must be done before reaching the branch node. This approach ensures that exceptions do not occur within the branch node itself. A branch node may have several descendants in the message flow tree: one for each branch including the default branch.
The route node is used to perform request/response communication with another service. It represents the boundary between request and response processing for the proxy. When the route node dispatches a request message, request processing is considered finished. When the route node receives a response message, response processing begins. The route node itself has support for conditional routing as well as outbound and response transformations.
You can choose whether conditions appear inside the route node or up in the message flow tree as branch nodes—it depends upon whether the condition is important enough to call out as part of the message flow tree structure.
As the route node represents the boundary between request and response processing, it cannot have any descendants in the message flow tree.
The following table demonstrates the journey of a message:
Table 17-3 Message Journey
Node
What Happens to the Message?
Request Processing
Request processing begins at the root of the message flow tree
Pipeline Pair
Executes the request pipeline only
Branch
Evaluates the lookup table and proceeds down the relevant branch
Route
Performs the route along with any outbound/response transformations.
Note:
Whether or not any routing is performed, the route node represents a change from request processing to response processing. When a response comes in, it reverses the path it took for the request. The same thing occurs for any request path that ends without a route node – it initiates response processing and walks back up the tree, but without waiting for any response.
Continues with the element that preceded the branch
Root of the Tree
Sends the response back to the client
Building a Message Flow Tree
Any element may appear at the root of the message flow tree. One of the simplest of Message Flow designs is to have just a route node at the top representing the entire tree. There is also no restriction on what two elements may be chained together. For example, two pipeline pair nodes may be chained together without a branching node in between. With regards to branching, each branch may start with a different element– one branch may immediately terminate with a route node, another may be followed by a pipeline pair and yet another may have no descendant whatsoever. In the latter case, a branch with no descendants means that response processing begins immediately if that branch is selected. In general, however, a message flow tree is likely to come in two forms: for non-operational services, the tree is likely to consist of a single pipeline pair at the root followed by a route node. For operational services, the tree is likely to consist again of a single pipeline pair at the root, followed by a branch node based on operation, with each branch consisting of a pipeline pair followed by a route node.
Operational Branching
Since Message Flow is typically used with WSDL-based services, there is frequently a need to perform processing that is operation-specific. Rather than requiring you to manually configure a branching node based on operation, AquaLogic Service Bus provides a zero-configuration branching node that automatically branches based on operation. A branch is created for each operation defined on the service; the branching variable is $operation.
The Edit Message Flow page allows you to view and change the Message Flow of a specific proxy service. To learn more about Message Flow, see Overview of Message Flow. To learn more about proxy services, see Overview of Proxy Services.
To View and Change the Message Flow
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
From the left navigation pane, select Proxy Services under Resource Browser. The Summary of Proxy Services page is displayed.
Alternatively, you can select a project or folder from under Project Explorer to display the project or folder’s list of resources.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service.
Alternatively, if you selected a project or folder, click the Edit Message Flow icon for the appropriate proxy service in the list of resources.
The Edit Message Flow page is displayed. The page includes the following functionality:
An icon that signifies the Start node for the proxy service, which you can click to add pipeline pair nodes, route nodes, and conditional and operational branches, and error handling for the service.
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow. Click the name of an object to display the page associated with that object. When you add objects, the left navigation pane adds the appropriate links to the Message Flow map. If you have not yet constructed the Message Flow for this proxy service, the Message Flow contains links to the Edit Message Flow page only.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Message Flow page allows you to add a pipeline pair node. A pipeline pair node consists of a request pipeline and a response pipeline. Message Flows can include zero or more pipeline pair nodes: request and response pipelines for the proxy service (or for the operations on the service), and error handler pipelines that can be defined for stages, pipelines, and proxy services. Pipelines can include one or more stages, which in turn include actions. To learn more, see Overview of Message Flow.
To Add a Pipeline Pair Node
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page in the Resource Browser, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
An icon that signifies the Start node for the proxy service, which you can click to add pipeline pair nodes, route nodes, and conditional and operational branches, and error handling for the service.
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
Click the Proxy Service icon, then click Add Pipeline Pair.
The Pipeline PairNode icon and a default name are displayed.
To change the default name and add a description for the pipeline pair node, do the following:
Click the Pipeline Pair Node icon, click EditName and Description.
In the Name field, enter a new name for the pipeline pair node.
In the Description field, enter a description for the pipeline pair node.
To save the changes, click Save. The Pipeline Pair Node icon and the name you assigned are displayed.
When you save the pipeline pair node, do one of the following:
Table 17-5 Pipeline Pair Node
To...
Complete This Step...
Add a stage to a pipeline
Click the appropriate request or response pipeline, then click Add Stage. To learn more, see Adding a Stage.
Add actions to a pipeline
Click the Stage icon for the appropriate pipeline (if you have already created a stage), click Edit Stage. To learn more, see Adding an Action.
Paste a stage that you cut or copied from a different pipeline pair within the message flow of this proxy service or from the message flow of a different proxy service
Click the Request or Response Pipeline icon for an existing pipeline pair, then click Paste Stage.
Alternatively, click the Stage icon in the appropriate pipeline (if you have already created a stage), then click Paste.
Add error handling for this pipeline
Click the Request or Response Pipeline icon for the pipeline pair you created, then click Add Pipeline Error Handler. To learn more, see Adding Pipeline Error Handling.
Add another pipeline pair node
Click the Pipeline Pair icon for the pipeline pair you created, click Add, then click Add Pipeline Pair.
Alternatively, you can click the Proxy Service icon again, then click Add Pipeline Pair.
Add a route node
Click the Request or ResponsePipeline icon for the pipeline pair you created, click Add, then click Add Route Node. To learn more, see Adding a Route Node.
Add a conditional branch after the pipeline pair node
Click the Request or ResponsePipeline icon for the pipeline pair you created, click Add, then click Add Conditional Branch. To learn more, see Adding a Conditional Branch.
Add an operational branch node after the pipeline pair node
Click the Request or ResponsePipeline icon for the pipeline pair you created, click Add, then click Add Operational Branch. To learn more, see Adding an Operational Branch.
Edit the name and description of the pipeline pair node
Click the Pipeline Pairicon for the pipeline pair you created, click EditName and Description.
Note:
When you rename a pipeline or a route node, the number of messages displayed on the Dashboard page in the Monitoring module may not correlate with those of other components due to the pipeline counters being reset to zero. This is because AquaLogic Service Bus treats the rename as a delete and recreate action. The numbers should correlate again after a time period equal to the service's monitoring interval has elapsed.
Paste a route node that you cut or copied from the message flow of another proxy service
Click the Pipeline Pair icon for the pipeline pair you created, then click Paste Route.
Note:
This option is not available if you have not cut or copied a route node.
Delete the pipeline pair node
Click the Pipeline Pair icon for the pipeline pair you created, then click Delete.
Insert a conditional branch between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Conditional Branch. To learn more, see Adding a Conditional Branch
Insert an operational branch node between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Operational Branch. To learn more, see Adding an Operational Branch.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Message Flow page allows you to add a conditional branch. A branch node allows processing to proceed down exactly one of several possible paths. To learn more, see Overview of Message Flow.
To Add a Conditional Branch
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
An icon that signifies the Start node for the proxy service, which you can click to add pipeline pair nodes, route nodes, and conditional and operational branches, and add error handling for the service.
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
If you have already added a pipeline pair node or service error handler, these icons are displayed.
Do one of the following:
To add a conditional branch at the end of the message flow, click the appropriate icon, then select Add Conditional Branch. The Branch Node icon and a default name are displayed.
To insert a conditional branch at a specific point in the message flow, click the appropriate icon, then click Create Conditional Branch. The Branch Node icon and a default name are displayed, and the nodes after the inserted branch node are moved to the default branch of the new branch node.
To change the default name and add a description for the branch node, do the following:
Click the Conditional Branch icon, click EditName and Description.
In the Name field, enter a new name for the branch node.
In the Description field, enter a description for the branch node.
To save the branch node, click Save. The Conditional Branch icon and the name you assigned to the branch node are displayed.
To add branch definitions, click the Conditional Branch icon, click Edit Branch. The Edit Branch Node page is displayed.
In the Branch Definitions panel, do the following:
In the Operator field, select =, !=, <, >, <=, or >=.
In the Value field, enter a value for the branch.
In the Label field, enter a label for the branch.
Do one of the following:
Table 17-6 Adding a Conditional Branch
To...
Complete This Step...
Add another branch definition
Click Add a New Branch from the flyout menu of the Options column.
Delete a branch definition
Click Delete this Branch from the flyout menu of the Options column.
Move a branch down the list of definitions
Click Move Branch Down from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
Move a branch up the list of definitions
Click Move Branch Up from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
When you have finished working with the definitions, do one of the following:
Table 17-7 Adding a Conditional Branch
To...
Complete This Step...
Update the branch and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Disregard changes and remain on the Edit Branch Node page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
When you save the branch node, do one of the following:
Click the Conditional Branch icon, then click Delete Branch Node.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Message Flow page allows you to add an operational branch node.
To Add an Operational Branch
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
An icon that signifies the Start node for the proxy service, which you can click to add pipeline pair nodes, route nodes, and conditional and operational branches, and add error handling for the service.
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
If you have already added a pipeline pair node or service error handler, these icons are displayed.
Do one of the following:
To add an operational branch node at the end of the message flow, click the appropriate icon, then select Add Operational Branch. The Branch Node icon and a default name are displayed.
To insert an operational branch node at a specific point in the message flow, click the appropriate icon, then click Create Operational Branch. The Branch Node icon and a default name are displayed, and the nodes after the inserted branch node are moved to the default branch of the new branch node.
To change the default name and add a description for the branch node, do the following:
Click the Operational Branch icon, click EditName and Description.
In the Name field, enter a new name for the branch node.
In the Description field, enter a description for the branch node.
To save the branch node, click Save. The Operational Branch icon and the name you assigned to the branch node are displayed.
To add branch definitions, select the branch node, click EditBranch Node. The Edit a Branch page is displayed.
In the Operation Branch Definitions panel, select a service operation.
Do one of the following:
Table 17-9 Adding an Operational Branch
To...
Complete This Step...
Add another branch definition
Click Add a New Branch from the flyout menu of the Options column.
Delete a branch definition
Click Delete this Branch from the flyout menu of the Options column.
Move a branch down the list of definitions
Click Move Branch Down from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
Move a branch up the list of definitions
Click Move Branch Up from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
When you have finished working with the definitions, do one of the following:
Table 17-10 Adding an Operational Branch
To...
Complete This Step...
Update the branch and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Disregard changes and remain on the Edit Branch Node page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
When you saved the branch node, do one of the following:
Click the Operational Branch icon, then click Delete Branch Node.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Message Flow page allows you to add a stage. A stage is a container of actions. To learn more, see Overview of Message Flow.
Note:
You must create a pipeline pair node before you can add a stage. To learn more, see Adding a Pipeline Pair Node.
To Add a Stage
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed.
Expand an existing pipeline pair node to view the pipeline pair, which consists of request and response pipelines.
Click the pipeline to which you want to add the stage, then click Add Stage.
The Stage icon and a default name are displayed.
To change the default name and add a description for the stage, do the following:
Click the Stage icon, click EditName and Description.
In the Name field, enter a new name for the stage.
In the Description field, enter a description for the stage.
To save the changes, click Save. The Stage icon and the name you assigned to the stage are displayed.
When you save the stage, do one of the following:
Table 17-12 Adding a Stage
To...
Complete This Step...
Add actions
Click the Stage icon, click EditStage. To learn more, see Adding an Action.
Click the appropriate Stage icon, then click Delete.
Cut a stage
Click the appropriate Stage icon, then click Cut.
Copy a stage
Click the appropriate Stage icon, then click Copy.
Paste a stage that you cut or copied from a different pipeline pair within the message flow of this proxy service or from the message flow of a different proxy service
Click the Stage icon in the appropriate pipeline, then click Paste.
Alternatively, you can click the Pipeline Pair Node icon for the pipeline pair you created, then click Paste Stage.
Click the Proxy Service icon, then click Add Pipeline Pair. Alternatively, you can click an existing Pipeline Pair Node icon, click Add, then click Add Pipeline Pair. To learn more, see Adding a Pipeline Pair Node.
Click the Pipeline Pair Node icon, click Add, then click Add Route Node. To learn more, see Adding a Route Node.
Add a conditional branch
Click the Pipeline Pair Node icon, click Add, then click Add Conditional Branch. To learn more, see Adding a Conditional Branch.
Insert a conditional branch between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Conditional Branch. To learn more, see Adding a Conditional Branch
Insert an operational branch node between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Operational Branch. To learn more, see Adding an Operational Branch.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the unsaved changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Message Flow page allows you to add a route node. The route node is used to perform request-response communication. It represents the boundary between request and response processing for the proxy service. When the route node dispatches a request message, request processing is considered finished. When the route node receives a response message, response processing begins. To learn more about Message Flow, see Overview of Message Flow.
AquaLogic Service Bus supports reliable messaging. When messages are routed to another service from a route node, the default quality of service (QoS) is exactly once if the proxy service transport is defines as JMS/XA; otherwise best effort QoS is supported. Exactly once reliability means that messages are delivered from inbound to outbound exactly once, assuming a terminating error does not occur before the outbound message send is initiated. The exactly once delivery reliability is a hint, not a directive. When exactly once is specified, exactly once reliability is provided if possible. If exactly once is not possible, then at least once delivery semantics are attempted; if that is not possible, best effort delivery is performed.
At least once semantics means the message is delivered to the outbound from the inbound at least once, assuming a terminating error does not occur before the outbound message send is initiated. Delivery is considered satisfied even if the target service responds with a transport-level error. However it is not satisfied in the case of a time-out, a failure to connect, or a broken communication link. If fail over URLs are specified, at least once semantics is provided with respect to at least one of the URLs.
Best effort means that there is no reliable messaging and there is no elimination of duplicate messages—however, performance is optimized.
To override the default exactly once quality of service attribute, you must set the qualityOfService in the outbound message context variable ($outbound). For more information, see Message Context Schema.
To Add a Route Node
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
An icon that signifies the Start node for the proxy service, which you can click to add pipeline pair nodes, route nodes, and conditional and operational branches, and add error handling for the service.
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
If you have already added a pipeline pair node or service error handler, these icons are displayed.
To add a route node, do one of the following:
Click the Pipeline Pair icon of an existing pipeline pair, click Add Route.
The Route Node icon and a default name are displayed.
To change the default name and add a description for the route node, do the following:
Click the Route Node icon, click EditName and Description.
In the Name field, enter a new name for the route node.
In the Description field, enter a description for the route node.
To save the changes, click Save. The Route Node icon and the name you assigned to the route node are displayed.
Note:
When you rename a pipeline or a route node, the number of messages displayed on the Dashboard page in the Monitoring module may not correlate with those of other components due to the pipeline counters being reset to zero. This is because AquaLogic Service Bus treats the rename as a delete and recreate action. The numbers should correlate again after a time period equal to the service's monitoring interval has elapsed.
Click the route node, click EditRoute. The Edit Stage Configuration page is displayed. Continue in Adding Route Node Actions.
When you have finished adding routing node actions and saved the route node, do one of the following:
Paste a route node that you cut or copied from the message flow of a different proxy service
Click the Route Node icon in the appropriate pipeline, then click Paste Route Node.
Insert a conditional branch between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Conditional Branch. To learn more, see Adding a Conditional Branch
Insert an operational branch node between the start node of the proxy service and the pipeline pair node
Click the Proxy Service icon, then click Create Operational Branch. To learn more, see Adding an Operational Branch.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
The Edit Stage Configuration page allows you to add route node actions when you click EditRoute on the Edit Message Flow page. Route node actions define the handling of messages as they flow through the route node of the proxy service. To learn more about Message Flow, see Overview of Message Flow.
To Add a Route Node Action
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed.
Click the Route Node icon, click EditRoute. The Edit Stage Configuration page is displayed.
To add a route node action, click Add an Action, then select an action type. The list of action types and the procedures to configure them are displayed in the following table.
Perform If... then... else actions based on the Boolean result of an XQuery expression:
Note:
Condition actions can be nested. However, there is a nesting limit of 4 cumulative levels in the stage editor. If you attempt to add a 5th level, this nesting action is not displayed. Cumulative levels include all branching actions: If... Then... Conditions, Publish Tables, and Route Tables. For example, you can have 2 levels of conditionals, then a publish table with a route table inside of it, bringing the total to 4 levels. If you attempt to add another conditional (to the last publish table), the conditional is not displayed.
Click Add an Action, then select Flow ControlIf... Then...
The If... Then... action is displayed, which includes the following functionality:
An If...Then... icon.
If... condition then..., which is a link from which you can edit the condition.
A field in which you can add request and response actions
When you have finished editing the XQuery condition, click Add an Action, then select an action that you want to associate with the condition.
NOTE: In the route node, you can select the Routing, Dynamic Routing, or Routing Table actions only. To learn more about these actions, see the appropriate procedure in this table. However, these actions can contain request and response actions inside of them. To learn more, see the table of actions in Adding a Route Node.
If necessary, click the If...Then... icon to add else-if conditions or else conditions, then click Add an Action to associate actions with these conditions.
Continue to the next step.
Dynamic Routing
Note:
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions inside of it.
Assign a route for a message based on routing information available in an XQuery resource.
Click Add an Action, then select CommunicationDynamic Routing.
The Dynamic Routing action is displayed, which includes the following functionality:
A Dynamic Route to Service <Expression>, where Expression is a link to the XQuery Expression Editor.
A Request Action link that you can click to add an action
A Response Action link that you can click to add an action
Click <Expression>. The XQuery Expression Editor is displayed.
In the XQuery Expression Editor, enter an Xquery expression, the result of which is similar to:
Note: If a proxy service is being invoked, isProxy attribute should be set to true.
– The service name is the fully qualified service name.
– The operation element is optional
Click Save.
In the Request Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action. To learn more about the type of actions you want to add, see the table of actions in Adding an Action.
In the Response Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action. To learn more about the type of actions you want to add, see the table of actions in Adding an Action.
When you have finished adding actions, click Save.
Routing
Note:
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions inside of it.
Identify a target service for the message and configure how the message is routed to that service:
Click Add an Action, then select CommunicationRouting.
The Routing action is displayed, which includes the following functionality:
A Routing icon
A Service link that you can click to select a service
A field in which you can add request and response actions
Click Service. The Service Browser is displayed.
Select a service from the list, then click Submit. The service is displayed instead of the default link.
If you want the outbound operation to be the same as the inbound operation, select the Use inbound operation for outbound check box.
In the Request Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action. To learn more about the type of actions you want to add, see the table of actions in Adding an Action.
In the Response Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action. To learn more about the type of actions you want to add, see the table of actions in Adding an Action.
When you have finished adding actions, click Save.
Routing Table
Note:
This is a terminal action, which means you cannot add another action after this one. However, this action can contain request and response actions inside of it.
A routing table is a set of routes wrapped in a switch-style condition table. It is a short-hand construct that allows different routes to be selected based upon the results of a single XQuery expression.
There is a nesting limit of 4 cumulative levels in the stage editor. If you attempt to add a 5th level, this nesting action is not displayed. Cumulative levels include all branching actions: If... Then... Conditions, Publish Tables, and Route Tables. For example, you can have 2 levels of conditionals, then a publish table with a route table inside of it, bringing the total to 4 levels. If you attempt to add another conditional (to the last publish table), the conditional is not displayed.
Identify target services for messages and configure how the messages are routed to these services:
Click Add an Action, then select CommunicationRouting Table. The Routing Table action is displayed, which includes the following functionality:
A Routing Table icon, an Expression link in which you can edit an XQuery expression, a Diamond icon that you can use to insert new cases, a field in which you can enter a comparison operator, a A field in which you can enter a value, a Service link that you can click to select a service, and a field in which you can add request and response actions.
Select one of these comparison operators: =, !=, < , >, <=, or >=, then enter a value expression in the field provided.
Click Service. The Service Browser is displayed.
Select a service from the list, then click Submit. The service is displayed.
If you want the outbound operation to be the same as the inbound operation, select the Use inbound operation for outbound check box.
In the Request Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action.
In the Response Actions field, click Add an Action to add an action, then select an action that you want to associate with the service. You can add more than one action.
Note: To learn more about the types of request and response actions you want to add, see the table of actions in Adding an Action.
When you have finished adding actions, continue to the next step.
To insert a new case, click the Diamond icon, then select Insert New Case.
Repeat steps 2-7 for the new case. You can click the Diamond icon, then select Insert Default Case to add a default case at the end whose routes are selected if none of the preceding cases is satisfied.
When you have finished adding cases, click Save.
When you have finished adding route node actions, do one of the following:
Table 17-15 Adding Route Node Actions
To...
Complete This Step...
Delete an action
Click the appropriate icon, then click Delete this Action. The action is deleted.
Move an action down
Click the appropriate icon, then click Move Action Down. The action is moved below the next action contained in this stage.
Note:
This option is displayed only when there are two or more actions contained in the stage.
Move an action up
Click the appropriate icon, then click Move Action Up. The action is moved above the previous action contained in this stage.
Note:
This option is displayed only when there are two or more actions contained in the stage.
Cut an action
Click the appropriate icon, then click Cut.
Copy an action
Click the appropriate icon, then click Copy.
Paste an action that you have cut or copied from within this stage
Click the appropriate icon, then click Paste Action.
Note:
You can copy/paste actions across stages. However, in the case of Assign, Replace or Insert actions, note the following:
All variable-related and user-defined namespaces from the source (copy) stage are added as user-defined namespaces in the target (paste) stage.
Duplicate namespaces (identical namespaces in both source and target stage) are not copied across.
Conflicting namespaces (namespace declarations that use the exact same prefix but different URIs) are copied.
Save the updates and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Clear the unsaved changes and remain on the Edit Stage Configuration page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
When you save the actions, do one of the following:
Table 17-16 Adding Route Node Actions
To...
Complete This Step...
Edit the route node name and description
Click the Route Node icon, click EditName and Description.
Save the updates and return to the Summary of Proxy Services page
Click Save.
Disregard changes and return to the Summary of Proxy Services page
Click Cancel.
Clear the changes and remain on the Edit Message Flow page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
A proxy serviceicon
The name of the proxy service
A pipeline pair node icon and name if you have already added a pipeline pair node
The conditional branchicon and the name of the branch node
A route node icon if you have already added a route node
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
Click the Conditional Branch icon, click EditBranch. Alternatively, from the left navigation pane, you can select the branch node from the map of the Message Flow.
The Branch Configuration fields and the Branch Definitions are displayed.
Do one of the following:
Table 17-17 Branch Configuration Fields and Branch Definitions
To...
Complete This Step...
Edit the XPath expression in the Selected Path field
Click Add a New Branch from the flyout menu of the Options column.
Delete a branch definition
Click Delete this Branch from the flyout menu of the Options column.
Move a branch down the list of definitions
Click Move Branch Down from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
Move a branch up the list of definitions
Click Move Branch Up from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
When you have finished updating the branch, do one of the following:
Table 17-18 Branch Configuration Fields and Branch Definitions
To...
Complete This Step...
Update the branch and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Disregard changes and remain on the Edit Branch Node page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following functionality:
A proxy serviceicon
The name of the proxy service
A pipeline pair node icon and name if you have already added a pipeline pair node
The conditional branchicon and the name of the branch node
A route node icon if you have already added a route node
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
Click the Operational Branch icon, click EditBranch. Alternatively, from the left navigation pane, you can select the branch from the map of the Message Flow.
The Branch Configuration fields and the Branch Definitions are displayed.
Do one of the following:
Table 17-19 Branch Configuration Fields and Branch Definitions
To...
Complete This Step...
Add another branch definition
Click Add a New Branch from the flyout menu of the Options column.
Delete a branch definition
Click Delete this Branch from the flyout menu of the Options column.
Move a branch down the list of definitions
Click Move Branch Down from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
Move a branch up the list of definitions
Click Move Branch Up from the flyout menu of the Options column.
Note:
This option displays only when more than one branch definition exists.
When you have finished updating the branch, do one of the following:
Table 17-20 Branch Configuration Fields and Branch Definitions
To...
Complete This Step...
Update the branch and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Disregard changes and remain on the Edit Branch Node page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.
If you have not already done so, from the left navigation pane, under Change Center, click Create to create a new session for making changes to the current configuration. To learn more, see Using the Change Center.
On the Summary of Proxy Services page, click the Edit Message Flow icon for the appropriate proxy service. Alternatively, if you are in the Project Explorer module, click the Edit Message Flow icon for the appropriate proxy service in the list of resources for a selected project or folder.
The Edit Message Flow page is displayed for the proxy service you selected. The page includes the following attributes:
A proxy serviceicon
The name of the proxy service
A pipeline pair node icon and name if you have already added a pipeline pair node
A route node icon if you have already added a route node
In the left navigation pane, a map of the Message Flow, which enables you to link to the pages associated with the various objects in the Message Flow.
Select the stage that you want to edit:
Expand an existing pipeline to view the pipeline pair.
In the request or response pipeline, click the Stage icon, click EditStage.
The Edit Stage Configuration page is displayed.
Note:
Alternatively, from the left navigation pane, you can select the stage from the map of the Message Flow.
Do one of the following:
Table 17-21 Edit Stage Configuration Page
To...
Complete This Step...
Add an action
Click Add an Action, then select the appropriate action. To learn more, see Adding an Action.
When you have finished making changes, do one of the following:
Table 17-22 Edit Stage Configuration Page
To...
Complete This Step...
Move an action down
Click the appropriate icon, then click Move Action Down. The action is moved below the next action contained in this stage.
Note:
This option is displayed only when there are two or more actions contained in the stage.
Move an action up
Click the appropriate icon, then click Move Action Up. The action is moved above the previous action contained in this stage.
Note:
This option is displayed only when there are two or more actions contained in the stage.
Cut an action
Click the appropriate icon, then click Cut.
Copy an action
Click the appropriate icon, then click Copy.
Paste an action that you have cut or copied from within this stage
Click the appropriate icon, then click Paste Action.
Note:
You cannot paste actions across stages; you can only paste actions that are inside the same stage.
Update the stage and return to the Edit Message Flow page
Click Save.
Disregard changes and return to the Edit Message Flow page
Click Cancel.
Disregard changes and remain on the Edit Stage Configuration page
Click Clear.
Discard your changes and exit the message flow
Click Cancel All. When you confirm that you want to exit the Message Flow, the Summary of Proxy Services page is displayed if you initially clicked the Edit Message Flow icon for the proxy service on that page, or the Folder View pages are displayed if you clicked the Edit Message Flow icon for the proxy service on those pages.
Note:
When you click Save, the Message Flow is updated in the current session. When you have finished making changes to this configuration, from the left navigation pane, click Activate under Change Center. The session ends and the core configuration is updated. Alternatively, click Discard at any time during the session to discard the changes you have made so far in the current session.