Extended or Dynamic Receiver Determination is useful when it comes to determining message receivers at interface runtime by evaluating content of the sender message using complex logics.
Standard Receiver Determination allows us to find the receivers based on Xpath of the sender message. Only limited number of operators are allowed to evaluate Xpath element data content. Operators in Standard Receiver Determination are limited to Equal to (=), Not Equal to (≠), Contain Pattern (≈) and Exists (EX).
Therefore, the main advantage of Extended Receiver Determination is that it facilitates complex logic-based receiver evaluation at runtime.
The Main Differences Between Standard and Extended Receiver Determination.
Receivers are determined at runtime of Message Mapping.
Receivers are determined by rule based at Design Time.
Complex logics can be build at massage mapping.
Rules based on data content of Xpath
Mapping techniques such as UDFs or Java mappings can be used to build complex receiver rules.
Rules only allow operators Equal to (=), Not Equal to (≠), Contain Pattern (≈) and Exists (EX).
I have chosen a simple logic since the main purpose of the article is to show the functionality of the Extended Receiver Determination to avoid creating complex Message Mapping. Let’s assume we have an XML file which sends two integer values (value1 and value2) and if the sum of these two values is greater than 10, message should be send to receiver ‘Test_A’ else to ‘Test_B’.
Check the option Extended in Type of Receiver Determination, then assign the Receiver Determination Operation Mapping we created in step no 5. Finally, list the possible receivers.
Step 8: Set receiver Interfaces and Operation Mappings.
Configure Receiver Interfaces and Operation Mappings for each receiver. Since I am not transforming the input XML file in this example, I have used Dummy Interfaces. But if you are required to transform the message to different formats, create operation mappings and message mappings accordingly.
Step 9: Configure Outbound Communication Channels.