Changes for page Splitting messages
Last modified by Erik Bakker on 2023/01/24 15:12
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. marijn1 +XWiki.ebakker - Content
-
... ... @@ -1,11 +1,4 @@ 1 -{{html wiki="true"}} 2 -<div class="ez-academy"> 3 - <div class="ez-academy_body"> 4 - 5 -<div class="doc"> 6 - 7 - 8 - 1 +{{container}}{{container layoutStyle="columns"}}((( 9 9 = Splitting messages = 10 10 11 11 Sometimes you receive or need to retrieve a batch file of data containing a large number of iterations on the same object (i.e Project, Employee, Order, Invoice, etc.) ... ... @@ -13,7 +13,7 @@ 13 13 14 14 In this microlearning, we will educate you on how you can split messages with the help of eMagiz tooling. 15 15 16 -Should you have any questions, please contact academy@emagiz.com. 9 +Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 17 17 18 18 * Last update: February 8th, 2021 19 19 * Required reading time: 7 minutes ... ... @@ -40,7 +40,7 @@ 40 40 * Standard splitter 41 41 * Xpath splitter 42 42 43 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--splitter-options-flow.png||]]</p>36 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--splitter-options-flow.png]] 44 44 45 45 In this microlearning, we will turn our attention to the Xpath splitter as that option is used in 99% of the cases we encounter when someone wants to split a message. 46 46 With the help of the Xpath splitter, you can split the message based on the result of an Xpath expression. ... ... @@ -58,7 +58,7 @@ 58 58 59 59 In this use case, we want to split our list of Projects into single Project messages that will validate against our system message. 60 60 61 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--splitter-system-message.png||]]</p>54 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--splitter-system-message.png]] 62 62 63 63 To do so we need to place an XPath splitter before validating the system message. 64 64 As a reminder, the best practice is that after every mutation on the message level you validate to check your work. ... ... @@ -65,7 +65,7 @@ 65 65 66 66 On flow level the solution therefore would look as follows: 67 67 68 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--splitter-flow-level-solution.png||]]</p>61 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--splitter-flow-level-solution.png]] 69 69 70 70 Now it becomes time for the crucial part of this component. Determining the correct XPath to split my message to end up with a valid system message. 71 71 To be able to determine the correct XPath we need to know: ... ... @@ -77,7 +77,7 @@ 77 77 Let us first determine what the structure of the input message is. In most cases, you can derive this from the documentation supplied by the external party. 78 78 In this case the structure is provided by us: 79 79 80 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--splitter-input-message-structure.png||]]</p>73 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--splitter-input-message-structure.png]] 81 81 82 82 Furthermore, we give you an example of how such an input message could look like: 83 83 ... ... @@ -107,7 +107,7 @@ 107 107 No, that we have all the information we need to determine the correct XPath let us take a look at the component to see what and how we need to fill in the XPath expression. 108 108 Double click on the splitter component to access the following pop-up 109 109 110 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up.png||]]</p>103 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up.png]] 111 111 112 112 As you can see the component needs to know the correct XPath expression and needs to know whether a namespace is used. 113 113 As we don't have a namespace in this example it becomes less complicated to figure out the correct XPath. ... ... @@ -121,7 +121,7 @@ 121 121 This means that the Xpath will be: /Projects/Project. This is also the desired result of our XPath expression 122 122 as this will split on Project level giving us three separate and valid system messages. 123 123 124 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up-filled-in.png||]]</p>117 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up-filled-in.png]] 125 125 126 126 === 3.2 Variations === 127 127 ... ... @@ -135,10 +135,10 @@ 135 135 136 136 Incorporating such a wildcard within our initial XPath would look as follows: 137 137 138 - <p align="center">[[image:crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up-filled-in-wildcard.png||]]</p>131 +[[image:Main.Images.Microlearning.WebHome@crashcourse-platform-create-splitting-messages--xpath-splitter-pop-up-filled-in-wildcard.png]] 139 139 140 -===== Practice ===== 141 141 134 + 142 142 == 4. Assignment == 143 143 144 144 Make sure that you add a splitter to your flow that splits messages before they are validated. To end up with valid output messages make sure to use the correct XPath. ... ... @@ -164,11 +164,6 @@ 164 164 165 165 This video demonstrates a working solution and how you can validate whether you have successfully completed the assignment. 166 166 167 - <iframewidth="1280" height="720" src="../../vid/microlearning/crashcourse-platform-create-splitting-messages.mp4"frameborder="0"allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>160 +{{video attachment="crashcourse-platform-create-splitting-messages.mp4" reference="Main.Videos.Microlearning.WebHome"/}} 168 168 169 -</div> 170 - 171 -</div> 172 -</div> 173 - 174 -{{/html}} 162 +)))((({{toc/}}))){{/container}}{{/container}}