- 12 Jul 2021
- 3 Minutes to read
- Print
- DarkLight
- PDF
Dynamic Reprocessing
- Updated on 12 Jul 2021
- 3 Minutes to read
- Print
- DarkLight
- PDF
In the Stage configuration, a new section has been introduced. This section is named Dynamic Reprocess Settings and will become visible once a Reprocessing Endpoint has been configured. In this section, users can configure a list of properties to be used while reprocessing. These properties can be of the following categories:
- BizTalk Context Properties
- Stage Properties
- Global Properties
- Macros
The main purpose of this dynamic reprocess properties is to use the value of a tracked property or a macro during reprocessing.
Maintaining Dynamic Reprocess Settings and Property promotion
Using Dynamic Properties, Atomic Scope allows you to define properties which can be used for reprocessing. For example, in case of HTTP reprocess endpoints, it will enable you to provide dynamic (REST-based) urls. It also allows you to provide BizTalk Promoted Properties to reprocessed messages, thereby allowing routing of these messages to take place, based on these messages.
This part of the documentation describes the following:
- how to maintain Dynamic Reprocessing settings
- how to maintain Property promotion
How to maintain Dynamic Reprocessing settings
Once a Reprocessing Endpoint has been configured, the Dynamic Reprocess Properties section becomes visible.
Dynamic Reprocessing Properties can be defined, by starting with clicking the Add Dynamic Property button in the upper-right area of the section. By doing so, the below blade appears.
The blade contains the following fields:
- Property Name - The name of the dynamic property. It defines how it will become used during reprocessing
- Property Type - The source of the dynamic property. The following types can be used:
- BizTalk Context Property - A context property from the message which needs to be reprocessed
- Stage Property - A tracked Stage property which has been defined in any of the stages of the transaction
- Global Property - A tracked Global property which has been defined in any of the stages of the transaction
- Macros - Predefined macros. The following macros are available:
- %SourceFileName% - The file name of the incoming message (this option requires the ReceivedFileName promoted property to be available within the message which is being reprocessed)
- %MessageID% - The ID of the message which needs to be reprocessed
- %time% - The current time
- %datetime% - The current date and time
- %datetime_bts2000% - The current date and time
- %NewGuid% - The value of a newly generated GUID
- Promote to BizTalk - If this switch is turned on, the following fields become visible:
- Destination Context Property Name - Name of the Context Property in the message which will be reprocessed
- Destination Context Property Namespace - Namespace of the Context Property in the message which will be reprocessed
* Done - Save the Dynamic Property
HTTP Reprocessing Channel
From the above configuration you can see that the Uri has a value called {InvoiceId} between curly braces. So to make use of the dynamic reprocess properties, users can enter any {Dynamic Reprocessing Property Name} in the Uri and the actual value will be substituted from the Dynamic Reprocess Property configuration.
Example:
https://baseurl.kovai.co/test/api/financialmodel/{InvoiceId}
For example, if you have a property called InvoiceId in the dynamic reprocess properties, the actual value of it will be retrieved from the tracked Global Property in this example and will be substituted in the Uri while you reprocessing the activity. During reprocessing the Uri will become:
https://baseurl.kovai.co/test/api/financialmodel/I1234567
The same will be true for HTTP headers:
ServiceBus Queue/Topic Reprocessing
While reprocessing for ServiceBus Queues or Topics, there are fields available for the user to enter user properties or system properties. In some customer scenarios, these fields might be needed for correlating a transaction with some other flow in customer's environment. So, until this version it has not possible to dynamically pass CorrelationId or MessageId while reprocessing.
Using the help of Dynamic Reprocess Properties this can be achieved now. During reprocessing the user can enter any {DynamicPropertyName} and it will be substituted from the runtime.
File Location Reprocessing
When reprocessing to a file location, it was already possible to use a MACRO for the fileName. Eg : %SourceFileName%.xml. With the help of dynamic properties you can extend it a bit more.
It is also possible to do {SenderId}_%SourceFileName%
After the resubmission, the file name will look like "Contoso_POsample01.xml".
FAQ
- Question: Can dynamic properties be used in all the input fields?
Answer: No, you cannot use them in fields like connection strings and queue names. It works on User and System properties, and HTTP Headers.