![]() |
Copyright © Cloud Software Group, Inc. All Rights Reserved |
The parse step is an optional preprocessing of the facade request used for both content validation and for identifying and normalizing control data. Using the parse step you can enhance the downstream processing by setting or overwriting predefined parameters that are derived either from the request message content or the request transport context. The parsing of the request is done using an XSLT- based transformation file configured in the New ProcessBody Transform or ProcessBody Transform field on the ROUTING > Facade Operations tab of the Config UI.
• Setting sticky key for load-balancing with StickyResourceAffinity routing algorithm type.When a standards-based identity is associated with the request which gets overridden by the parse XSLT, the original partner identity is stored as a row in the ASG_TRANSACTION_KEYS table that is associated with the audit trail log record of the request in the ASG_TRANSACTIONS table. The override log records or such credential mapping records are stored with a value of incomingPartner for the key_type column.For a single facade operation, multiple routes can be configured. Each of the routing configurations map a facade operation to a different target operation or target group. When multiple routes are configured for a facade operation, the request processing requires to derive a routing key for that request to determine which of the configured routes should process the request.When the routing key should be dynamically derived from the request payload message or the request transport context, the parse step XSLT can be used to set the routing key for the request. See Routing.referenceId is a specific element that is used to store an external transaction ID or reference key for the request. Any value mapped into the referenceId element of the output document generated by the parse step XSLT transformation is stored in the TRN_TRANSACTION_ID column of the ASG_TRANSACTIONS table in the Central Logger database.
• key is a repeatable element in the output document of the parse step XSLT transformation that can be used in a more generic fashion. It is typically used to store business keys extracted from the received request. Each populated key element is stored as a separate row in the ASG_TRANSACTION_KEYS table and includes a foreign key to the associated row in the main ASG_TRANSACTIONS table of the Central Logger database. The value of the key element is stored in the KEY_VALUE column.
−
− When you set a @type attribute for the key element, the @type attribute is stored in the KEY_TYPE column in the ASG_TRANSACTION_KEYS table.By using the @type attribute for the key element, users can search for specific audit trial logging records in the Central Logger database through the business keys from the request message. This also provides the flexibility to enrich the standard audit trail logging data with any key, value pair based contextual information without the need for customization of TIBCO API Exchange Gateway itself.If you do not want to store the parameters in the Central Logger database, you can use the @log attribute of the key element. The @log attribute is a boolean attribute and its value determines whether this key should be stored in the Central Logger database or not. When there is no @log attribute set for key elements, a default value of true is set for the key elements and the key elements are stored as rows in the ASG_TRANSACTION_KEYS table of the Central Logger database. If you do not want to store the key elements in the database, set the @log attribute to false.The BookQueryBE example ships the sample XSLT file to parse the request for queryBookByAuthor facade operation and store the header values into the database.To store the header values using the parse_headers.xsl,follow these steps:
2.
3.
6. Click BookQueryBE project.
7. Select ROUTING > Facade Operations tab.
8. Select queryBookByAuthor operation.
9.
You can use the key elements populated by the parse step XSLT transformation to pass parameters to custom policies, which can be developed leveraging the custom extension mechanism. The SampleStage custom extension in the ASGDefaultImplementation project uses the key elements.For more information on how to configure and use content-based throttles, see Content Based Throttles section.TIBCO API Exchange Gateway supports multiple load-balancing policy types for target operations that are grouped within a target group. When a load-balancing policy with StickyResourceAffinity is configured for a target group, a parse step XSLT transformation is used to derive the sticky key from the request payload message or request transport context. The output document as generated by the parse step XSLT transformation contains a stickyRoutingKey element that needs to be set to associate a sticky routing key to the request for further processing.
![]() |
Copyright © Cloud Software Group, Inc. All Rights Reserved |