Containerization feature of SO
[so.git] / bpmn / MSOCommonBPMN / src / main / resources / subprocess / SDNCAdapterV1.bpmn
1 <?xml version="1.0" encoding="UTF-8"?>
2 <bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_l2hJ8CccEeW3d--PaFJMbg" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.13.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
3   <bpmn2:process id="sdncAdapter" name="SDNC Adapter" isExecutable="true">
4     <bpmn2:exclusiveGateway id="isResponseOK" name="is Response Ok?" default="badSynchronousResponse">
5       <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
6       <bpmn2:outgoing>badSynchronousResponse</bpmn2:outgoing>
7       <bpmn2:outgoing>goodSynchronousResponse</bpmn2:outgoing>
8     </bpmn2:exclusiveGateway>
9     <bpmn2:sequenceFlow id="badSynchronousResponse" name="Bad synchronous response" sourceRef="isResponseOK" targetRef="setBadResponse" />
10     <bpmn2:sequenceFlow id="goodSynchronousResponse" name="Good synchronous response" sourceRef="isResponseOK" targetRef="resetCallbackRequest">
11       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("SDNCA_ResponseCode")=='200'}</bpmn2:conditionExpression>
12     </bpmn2:sequenceFlow>
13     <bpmn2:scriptTask id="setBadResponse" name="Set Bad Response&#10;&#10;Exception" scriptFormat="groovy">
14       <bpmn2:incoming>badSynchronousResponse</bpmn2:incoming>
15       <bpmn2:outgoing>Exception</bpmn2:outgoing>
16       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
17
18 int responseCode = execution.getVariable("SDNCA_ResponseCode")
19 ExceptionUtil exceptionUtil = new ExceptionUtil()
20 exceptionUtil.buildWorkflowException(execution, 7000, "Could not communicate with the SDNC Adapter" )</bpmn2:script>
21     </bpmn2:scriptTask>
22     <bpmn2:sequenceFlow id="Exception" name="Exception" sourceRef="setBadResponse" targetRef="badResponseEndFlow" />
23     <bpmn2:serviceTask id="invokeSDNCAdapter" name="Invoke SDNC Adapter" camunda:asyncAfter="true" camunda:class="">
24       <bpmn2:extensionElements>
25         <camunda:connector>
26           <camunda:inputOutput>
27             <camunda:inputParameter name="url">${execution.getVariable("mso.adapters.sdnc.endpoint")}</camunda:inputParameter>
28             <camunda:inputParameter name="method">POST</camunda:inputParameter>
29             <camunda:inputParameter name="headers">
30               <camunda:map>
31                 <camunda:entry key="content-type">application/soap+xml</camunda:entry>
32                 <camunda:entry key="Authorization">#{BasicAuthHeaderValue}</camunda:entry>
33               </camunda:map>
34             </camunda:inputParameter>
35             <camunda:inputParameter name="payload">${sdncAdapterRequest}</camunda:inputParameter>
36             <camunda:outputParameter name="sdncAdapterWorkflowResponse">${response}</camunda:outputParameter>
37             <camunda:outputParameter name="SDNCA_ResponseCode">${statusCode}</camunda:outputParameter>
38           </camunda:inputOutput>
39           <camunda:connectorId>soap-http-connector</camunda:connectorId>
40         </camunda:connector>
41       </bpmn2:extensionElements>
42       <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
43       <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
44     </bpmn2:serviceTask>
45     <bpmn2:sequenceFlow id="SequenceFlow_15" sourceRef="invokeSDNCAdapter" targetRef="isResponseOK" />
46     <bpmn2:endEvent id="badResponseEndFlow" name="Bad Response End Flow">
47       <bpmn2:incoming>Exception</bpmn2:incoming>
48       <bpmn2:errorEventDefinition id="_ErrorEventDefinition_77" errorRef="Error_3" />
49     </bpmn2:endEvent>
50     <bpmn2:startEvent id="SDNCAdapter_Start" name="Incoming Message">
51       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
52       <bpmn2:messageEventDefinition id="_MessageEventDefinition_3" messageRef="Message_1" />
53     </bpmn2:startEvent>
54     <bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="SDNCAdapter_Start" targetRef="processMessage" />
55     <bpmn2:scriptTask id="processMessage" name="Process message" scriptFormat="groovy">
56       <bpmn2:extensionElements>
57         <camunda:inputOutput>
58           <camunda:inputParameter name="ScriptObject">
59             <camunda:map>
60               <camunda:entry key="MethodName">massageSDNCRequestScript</camunda:entry>
61               <camunda:entry key="Params" />
62             </camunda:map>
63           </camunda:inputParameter>
64         </camunda:inputOutput>
65       </bpmn2:extensionElements>
66       <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
67       <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
68       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
69 def sdnc= new SDNCAdapter()
70 sdnc.preProcessRequest(execution)
71 </bpmn2:script>
72     </bpmn2:scriptTask>
73     <bpmn2:sequenceFlow id="SequenceFlow_8" sourceRef="processMessage" targetRef="invokeSDNCAdapter" />
74     <bpmn2:scriptTask id="returnWorkflowResult" name="Return workflow result" scriptFormat="groovy">
75       <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
76       <bpmn2:incoming>SequenceFlow_11ah5pw</bpmn2:incoming>
77       <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
78       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
79 def sdnc= new SDNCAdapter()
80 sdnc.postProcessResponse(execution)
81 </bpmn2:script>
82     </bpmn2:scriptTask>
83     <bpmn2:sequenceFlow id="SequenceFlow_14" sourceRef="returnWorkflowResult" targetRef="timeoutError" />
84     <bpmn2:exclusiveGateway id="timeoutError" name="Did Timeout occur?" default="noTimeoutError">
85       <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
86       <bpmn2:outgoing>noTimeoutError</bpmn2:outgoing>
87       <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
88     </bpmn2:exclusiveGateway>
89     <bpmn2:sequenceFlow id="noTimeoutError" name="No Timeout" sourceRef="timeoutError" targetRef="ExclusiveGateway_1" />
90     <bpmn2:sequenceFlow id="SequenceFlow_19" name="Timeout" sourceRef="timeoutError" targetRef="endEventException">
91       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("asynchronousResponseTimeout")==true}</bpmn2:conditionExpression>
92     </bpmn2:sequenceFlow>
93     <bpmn2:subProcess id="SubProcess" name="Wait for asynchronous message" camunda:asyncAfter="true">
94       <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
95       <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
96       <bpmn2:startEvent id="StartEvent" name="Start Event">
97         <bpmn2:outgoing>SequenceFlow_1eciucn</bpmn2:outgoing>
98       </bpmn2:startEvent>
99       <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent" name="Catch Event">
100         <bpmn2:incoming>SequenceFlow_1eciucn</bpmn2:incoming>
101         <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
102         <bpmn2:messageEventDefinition id="MessageEventDefinition_2" messageRef="Message_2" />
103       </bpmn2:intermediateCatchEvent>
104       <bpmn2:sequenceFlow id="SequenceFlow_16" sourceRef="IntermediateCatchEvent" targetRef="eEndEventSubprocess" />
105       <bpmn2:sequenceFlow id="SequenceFlow_1eciucn" sourceRef="StartEvent" targetRef="IntermediateCatchEvent" />
106       <bpmn2:endEvent id="eEndEventSubprocess" name="End Event Subprocess">
107         <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
108       </bpmn2:endEvent>
109     </bpmn2:subProcess>
110     <bpmn2:sequenceFlow id="SequenceFlow_9" sourceRef="SubProcess" targetRef="returnWorkflowResult" />
111     <bpmn2:scriptTask id="setTimeoutEx" name="Set Timeout&#10;and Stop Listening for Callback" scriptFormat="groovy">
112       <bpmn2:incoming>SequenceFlow_0mzs1ze</bpmn2:incoming>
113       <bpmn2:outgoing>SequenceFlow_11ah5pw</bpmn2:outgoing>
114       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
115 def sdnc= new SDNCAdapter()
116 sdnc.setTimeout(execution)</bpmn2:script>
117     </bpmn2:scriptTask>
118     <bpmn2:scriptTask id="resetCallbackRequest" name="Reset callback request and set timer value" scriptFormat="groovy">
119       <bpmn2:incoming>goodSynchronousResponse</bpmn2:incoming>
120       <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming>
121       <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
122       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
123 def sdnc= new SDNCAdapter()
124 sdnc.resetCallbackRequest(execution)</bpmn2:script>
125     </bpmn2:scriptTask>
126     <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="resetCallbackRequest" targetRef="SubProcess" />
127     <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Check final indicator" default="Done">
128       <bpmn2:incoming>noTimeoutError</bpmn2:incoming>
129       <bpmn2:outgoing>Done</bpmn2:outgoing>
130       <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
131     </bpmn2:exclusiveGateway>
132     <bpmn2:sequenceFlow id="Done" name="Done" sourceRef="ExclusiveGateway_1" targetRef="ResetInterimNotificationFlag" />
133     <bpmn2:sequenceFlow id="SequenceFlow_30" name="Not Done" sourceRef="ExclusiveGateway_1" targetRef="ParallelGateway_3">
134       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("continueListening")==true}</bpmn2:conditionExpression>
135     </bpmn2:sequenceFlow>
136     <bpmn2:scriptTask id="toggleSuccessIndicator" name="Toggle Success Indicator" scriptFormat="groovy">
137       <bpmn2:incoming>SequenceFlow_1w1za5m</bpmn2:incoming>
138       <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
139       <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
140 def sdnc= new SDNCAdapter()
141 sdnc.toggleSuccessIndicator(execution)</bpmn2:script>
142     </bpmn2:scriptTask>
143     <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="toggleSuccessIndicator" targetRef="endEventFlow" />
144     <bpmn2:endEvent id="endEventFlow" name="End Event Flow">
145       <bpmn2:extensionElements>
146         <camunda:connector>
147           <camunda:inputOutput>
148             <camunda:outputParameter name="sdncAdapterResponse">${sdncAdapterWorkflowResponse}</camunda:outputParameter>
149           </camunda:inputOutput>
150         </camunda:connector>
151       </bpmn2:extensionElements>
152       <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
153       <bpmn2:messageEventDefinition id="_MessageEventDefinition_6" />
154     </bpmn2:endEvent>
155     <bpmn2:parallelGateway id="ParallelGateway_3">
156       <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming>
157       <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing>
158       <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing>
159     </bpmn2:parallelGateway>
160     <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="ParallelGateway_3" targetRef="ExclusiveGateway_2" />
161     <bpmn2:sequenceFlow id="SequenceFlow_26" name="Continue listening for asynchronous message" sourceRef="ParallelGateway_3" targetRef="resetCallbackRequest" />
162     <bpmn2:subProcess id="errorHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true">
163       <bpmn2:startEvent id="catchErrors" name="Catch">
164         <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
165         <bpmn2:errorEventDefinition id="_ErrorEventDefinition_78" errorRef="Error_3" />
166       </bpmn2:startEvent>
167       <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="catchErrors" targetRef="assignError" />
168       <bpmn2:scriptTask id="assignError" name="Assign Error" scriptFormat="groovy">
169         <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
170         <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing>
171         <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
172 def sdnc= new SDNCAdapter()
173 sdnc.assignError(execution)</bpmn2:script>
174       </bpmn2:scriptTask>
175       <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="assignError" targetRef="EndEvent_5" />
176       <bpmn2:endEvent id="EndEvent_5">
177         <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming>
178       </bpmn2:endEvent>
179     </bpmn2:subProcess>
180     <bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Service Config Activate?" default="SequenceFlow_23">
181       <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
182       <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
183       <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
184     </bpmn2:exclusiveGateway>
185     <bpmn2:sequenceFlow id="SequenceFlow_4" name="Yes" sourceRef="ExclusiveGateway_2" targetRef="SetInterimNotificationFlag">
186       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("serviceConfigActivate")==true}</bpmn2:conditionExpression>
187     </bpmn2:sequenceFlow>
188     <bpmn2:sequenceFlow id="SequenceFlow_23" name="No" sourceRef="ExclusiveGateway_2" targetRef="EndEvent_1" />
189     <bpmn2:endEvent id="EndEvent_1">
190       <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
191     </bpmn2:endEvent>
192     <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Boundary Event" cancelActivity="false" attachedToRef="SubProcess">
193       <bpmn2:documentation>this is a non interupting time to prevent an Optimistic Locking Exception if timer expires the same time we correlate a message</bpmn2:documentation>
194       <bpmn2:outgoing>SequenceFlow_0mzs1ze</bpmn2:outgoing>
195       <bpmn2:timerEventDefinition>
196         <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${sdncTimeoutValue}</bpmn2:timeDuration>
197       </bpmn2:timerEventDefinition>
198     </bpmn2:boundaryEvent>
199     <bpmn2:endEvent id="endEventException" name="Timeout Exception">
200       <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
201       <bpmn2:terminateEventDefinition />
202     </bpmn2:endEvent>
203     <bpmn2:sequenceFlow id="SequenceFlow_0mzs1ze" sourceRef="BoundaryEvent_1" targetRef="setTimeoutEx" />
204     <bpmn2:sequenceFlow id="SequenceFlow_11ah5pw" sourceRef="setTimeoutEx" targetRef="returnWorkflowResult" />
205     <bpmn2:callActivity id="CallActivity_11xgv33" name="Call Notification Service" calledElement="${UrnPropertiesReader.getVariable(&#34;mso.workflow.notification.name&#34;, execution)}">
206       <bpmn2:extensionElements>
207         <camunda:in source="mso-request-id" target="mso-request-id" />
208         <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
209         <camunda:in variables="all" />
210         <camunda:out variables="all" />
211       </bpmn2:extensionElements>
212       <bpmn2:incoming>SequenceFlow_193cb6p</bpmn2:incoming>
213       <bpmn2:outgoing>SequenceFlow_1em7gys</bpmn2:outgoing>
214     </bpmn2:callActivity>
215     <bpmn2:scriptTask id="SetInterimNotificationFlag" name="Set Interim Notification Flag" scriptFormat="groovy">
216       <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
217       <bpmn2:outgoing>SequenceFlow_193cb6p</bpmn2:outgoing>
218       <bpmn2:script>execution.setVariable("SDNCA_InterimNotify", true)</bpmn2:script>
219     </bpmn2:scriptTask>
220     <bpmn2:sequenceFlow id="SequenceFlow_193cb6p" sourceRef="SetInterimNotificationFlag" targetRef="CallActivity_11xgv33" />
221     <bpmn2:endEvent id="EndEvent_18rq0b6">
222       <bpmn2:incoming>SequenceFlow_1em7gys</bpmn2:incoming>
223     </bpmn2:endEvent>
224     <bpmn2:sequenceFlow id="SequenceFlow_1em7gys" sourceRef="CallActivity_11xgv33" targetRef="EndEvent_18rq0b6" />
225     <bpmn2:scriptTask id="ResetInterimNotificationFlag" name="Reset Interim Notification Flag" scriptFormat="groovy">
226       <bpmn2:incoming>Done</bpmn2:incoming>
227       <bpmn2:outgoing>SequenceFlow_1w1za5m</bpmn2:outgoing>
228       <bpmn2:script>execution.setVariable("SDNCA_InterimNotify", false)</bpmn2:script>
229     </bpmn2:scriptTask>
230     <bpmn2:sequenceFlow id="SequenceFlow_1w1za5m" sourceRef="ResetInterimNotificationFlag" targetRef="toggleSuccessIndicator" />
231   </bpmn2:process>
232   <bpmn2:message id="Message_1" name="sdncAdapterWorkflowRequest" />
233   <bpmn2:message id="Message_2" name="sdncAdapterCallbackRequest" />
234   <bpmn2:error id="Error_3" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
235   <bpmn2:signal id="Signal_1" name="InterimStatus" />
236   <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
237   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
238     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="sdncAdapter">
239       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_33" bpmnElement="SDNCAdapter_Start">
240         <dc:Bounds x="111" y="161" width="36" height="36" />
241         <bpmndi:BPMNLabel>
242           <dc:Bounds x="72" y="202" width="115" height="22" />
243         </bpmndi:BPMNLabel>
244       </bpmndi:BPMNShape>
245       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_62" bpmnElement="invokeSDNCAdapter">
246         <dc:Bounds x="342" y="139" width="100" height="80" />
247       </bpmndi:BPMNShape>
248       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_29" bpmnElement="isResponseOK" isMarkerVisible="true">
249         <dc:Bounds x="519" y="153" width="50" height="50" />
250         <bpmndi:BPMNLabel>
251           <dc:Bounds x="569" y="182" width="106" height="22" />
252         </bpmndi:BPMNLabel>
253       </bpmndi:BPMNShape>
254       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_64" bpmnElement="endEventFlow">
255         <dc:Bounds x="1699" y="366" width="36" height="36" />
256         <bpmndi:BPMNLabel>
257           <dc:Bounds x="1743" y="373" width="77" height="13" />
258         </bpmndi:BPMNLabel>
259       </bpmndi:BPMNShape>
260       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_65" bpmnElement="badResponseEndFlow">
261         <dc:Bounds x="762" y="104" width="36" height="36" />
262         <bpmndi:BPMNLabel>
263           <dc:Bounds x="804" y="111" width="149" height="22" />
264         </bpmndi:BPMNLabel>
265       </bpmndi:BPMNShape>
266       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="badSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_24">
267         <di:waypoint x="544" y="153" />
268         <di:waypoint x="544" y="122" />
269         <di:waypoint x="600" y="122" />
270         <bpmndi:BPMNLabel>
271           <dc:Bounds x="441" y="99" width="164" height="22" />
272         </bpmndi:BPMNLabel>
273       </bpmndi:BPMNEdge>
274       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_33" targetElement="_BPMNShape_ScriptTask_3">
275         <di:waypoint x="147" y="179" />
276         <di:waypoint x="194" y="179" />
277         <bpmndi:BPMNLabel>
278           <dc:Bounds x="171" y="179" width="0" height="0" />
279         </bpmndi:BPMNLabel>
280       </bpmndi:BPMNEdge>
281       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="goodSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_27">
282         <di:waypoint x="544" y="203" />
283         <di:waypoint x="544" y="246" />
284         <bpmndi:BPMNLabel>
285           <dc:Bounds x="459" y="208" width="172" height="22" />
286         </bpmndi:BPMNLabel>
287       </bpmndi:BPMNEdge>
288       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_68" bpmnElement="returnWorkflowResult">
289         <dc:Bounds x="1104" y="237" width="100" height="80" />
290       </bpmndi:BPMNShape>
291       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_3" bpmnElement="processMessage">
292         <dc:Bounds x="194" y="139" width="100" height="80" />
293       </bpmndi:BPMNShape>
294       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_3" targetElement="_BPMNShape_ServiceTask_62">
295         <di:waypoint x="294" y="179" />
296         <di:waypoint x="342" y="179" />
297         <bpmndi:BPMNLabel>
298           <dc:Bounds x="300" y="153" width="30" height="22" />
299         </bpmndi:BPMNLabel>
300       </bpmndi:BPMNEdge>
301       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ServiceTask_68" targetElement="_BPMNShape_ExclusiveGateway_53">
302         <di:waypoint x="1204" y="277" />
303         <di:waypoint x="1248" y="276" />
304         <bpmndi:BPMNLabel>
305           <dc:Bounds x="1211" y="251" width="37" height="22" />
306         </bpmndi:BPMNLabel>
307       </bpmndi:BPMNEdge>
308       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ServiceTask_62" targetElement="_BPMNShape_ExclusiveGateway_29">
309         <di:waypoint x="442" y="179" />
310         <di:waypoint x="480" y="179" />
311         <di:waypoint x="480" y="178" />
312         <di:waypoint x="519" y="178" />
313         <bpmndi:BPMNLabel>
314           <dc:Bounds x="468" y="153" width="37" height="22" />
315         </bpmndi:BPMNLabel>
316       </bpmndi:BPMNEdge>
317       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_16" bpmnElement="IntermediateCatchEvent">
318         <dc:Bounds x="781" y="257" width="36" height="36" />
319         <bpmndi:BPMNLabel>
320           <dc:Bounds x="739" y="292" width="60" height="12" />
321         </bpmndi:BPMNLabel>
322       </bpmndi:BPMNShape>
323       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_11" bpmnElement="SubProcess" isExpanded="true">
324         <dc:Bounds x="619" y="209" width="379" height="137" />
325       </bpmndi:BPMNShape>
326       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_38" bpmnElement="StartEvent">
327         <dc:Bounds x="655" y="257" width="36" height="36" />
328         <bpmndi:BPMNLabel>
329           <dc:Bounds x="630" y="292" width="54" height="12" />
330         </bpmndi:BPMNLabel>
331       </bpmndi:BPMNShape>
332       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_SubProcess_11">
333         <di:waypoint x="998" y="278" />
334         <di:waypoint x="1104" y="277" />
335         <bpmndi:BPMNLabel>
336           <dc:Bounds x="1051" y="262.5" width="0" height="0" />
337         </bpmndi:BPMNLabel>
338       </bpmndi:BPMNEdge>
339       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_24" bpmnElement="setBadResponse">
340         <dc:Bounds x="600" y="82" width="100" height="80" />
341       </bpmndi:BPMNShape>
342       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="Exception" sourceElement="_BPMNShape_ScriptTask_24" targetElement="_BPMNShape_EndEvent_65">
343         <di:waypoint x="700" y="122" />
344         <di:waypoint x="762" y="122" />
345         <bpmndi:BPMNLabel>
346           <dc:Bounds x="699" y="99" width="64" height="22" />
347         </bpmndi:BPMNLabel>
348       </bpmndi:BPMNEdge>
349       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_25" bpmnElement="setTimeoutEx">
350         <dc:Bounds x="941" y="372" width="100" height="80" />
351       </bpmndi:BPMNShape>
352       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_IntermediateCatchEvent_16">
353         <di:waypoint x="817" y="275" />
354         <di:waypoint x="926" y="275" />
355         <bpmndi:BPMNLabel>
356           <dc:Bounds x="872" y="260" width="0" height="0" />
357         </bpmndi:BPMNLabel>
358       </bpmndi:BPMNEdge>
359       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_53" bpmnElement="timeoutError" isMarkerVisible="true">
360         <dc:Bounds x="1248" y="251" width="50" height="50" />
361         <bpmndi:BPMNLabel>
362           <dc:Bounds x="1300" y="266" width="118" height="22" />
363         </bpmndi:BPMNLabel>
364       </bpmndi:BPMNShape>
365       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="noTimeoutError" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ExclusiveGateway_54">
366         <di:waypoint x="1273" y="301" />
367         <di:waypoint x="1273" y="359" />
368         <bpmndi:BPMNLabel>
369           <dc:Bounds x="1280" y="324" width="72" height="22" />
370         </bpmndi:BPMNLabel>
371       </bpmndi:BPMNEdge>
372       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ScriptTask_25">
373         <di:waypoint x="1273" y="251" />
374         <di:waypoint x="1273" y="95" />
375         <di:waypoint x="1560" y="95" />
376         <bpmndi:BPMNLabel>
377           <dc:Bounds x="1301" y="169.45283018867923" width="39" height="12" />
378         </bpmndi:BPMNLabel>
379       </bpmndi:BPMNEdge>
380       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
381         <dc:Bounds x="1248" y="359" width="50" height="50" />
382         <bpmndi:BPMNLabel>
383           <dc:Bounds x="1194" y="372" width="57" height="24" />
384         </bpmndi:BPMNLabel>
385       </bpmndi:BPMNShape>
386       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="Done" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_247">
387         <di:waypoint x="1298" y="384" />
388         <di:waypoint x="1386" y="385" />
389         <bpmndi:BPMNLabel>
390           <dc:Bounds x="1322" y="384.219838851959" width="27" height="13" />
391         </bpmndi:BPMNLabel>
392       </bpmndi:BPMNEdge>
393       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_27" bpmnElement="resetCallbackRequest">
394         <dc:Bounds x="494" y="246" width="100" height="80" />
395       </bpmndi:BPMNShape>
396       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_27" targetElement="_BPMNShape_SubProcess_11">
397         <di:waypoint x="594" y="286" />
398         <di:waypoint x="607" y="286" />
399         <di:waypoint x="607" y="275" />
400         <di:waypoint x="619" y="275" />
401         <bpmndi:BPMNLabel>
402           <dc:Bounds x="622" y="280.5" width="0" height="0" />
403         </bpmndi:BPMNLabel>
404       </bpmndi:BPMNEdge>
405       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ParallelGateway_14">
406         <di:waypoint x="1273" y="409" />
407         <di:waypoint x="1273" y="467" />
408         <bpmndi:BPMNLabel>
409           <dc:Bounds x="1273" y="423" width="60" height="22" />
410         </bpmndi:BPMNLabel>
411       </bpmndi:BPMNEdge>
412       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_55" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
413         <dc:Bounds x="1248" y="552" width="50" height="50" />
414         <bpmndi:BPMNLabel>
415           <dc:Bounds x="1141" y="567" width="74" height="25" />
416         </bpmndi:BPMNLabel>
417       </bpmndi:BPMNShape>
418       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_55" targetElement="CallActivity_11xgv33_di">
419         <di:waypoint x="1273" y="602" />
420         <di:waypoint x="1273" y="664" />
421         <bpmndi:BPMNLabel>
422           <dc:Bounds x="1237" y="635.9906427957554" width="18" height="13" />
423         </bpmndi:BPMNLabel>
424       </bpmndi:BPMNEdge>
425       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_14" bpmnElement="ParallelGateway_3">
426         <dc:Bounds x="1248" y="467" width="50" height="50" />
427         <bpmndi:BPMNLabel>
428           <dc:Bounds x="1273" y="522" width="0" height="0" />
429         </bpmndi:BPMNLabel>
430       </bpmndi:BPMNShape>
431       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ParallelGateway_14">
432         <di:waypoint x="1272" y="516" />
433         <di:waypoint x="1273" y="552" />
434         <bpmndi:BPMNLabel>
435           <dc:Bounds x="1273" y="519" width="0" height="0" />
436         </bpmndi:BPMNLabel>
437       </bpmndi:BPMNEdge>
438       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_96" bpmnElement="EndEvent_1">
439         <dc:Bounds x="1440" y="559" width="36" height="36" />
440         <bpmndi:BPMNLabel>
441           <dc:Bounds x="1458" y="600" width="0" height="0" />
442         </bpmndi:BPMNLabel>
443       </bpmndi:BPMNShape>
444       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_55" targetElement="_BPMNShape_EndEvent_96">
445         <di:waypoint x="1298" y="577" />
446         <di:waypoint x="1330" y="577" />
447         <di:waypoint x="1440" y="577" />
448         <bpmndi:BPMNLabel>
449           <dc:Bounds x="1309" y="590.5" width="14" height="13" />
450         </bpmndi:BPMNLabel>
451       </bpmndi:BPMNEdge>
452       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ParallelGateway_14" targetElement="_BPMNShape_ScriptTask_27">
453         <di:waypoint x="1248" y="492" />
454         <di:waypoint x="544" y="492" />
455         <di:waypoint x="544" y="326" />
456         <bpmndi:BPMNLabel>
457           <dc:Bounds x="782" y="467" width="73" height="48" />
458         </bpmndi:BPMNLabel>
459       </bpmndi:BPMNEdge>
460       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_247" bpmnElement="toggleSuccessIndicator">
461         <dc:Bounds x="1540" y="344" width="100" height="80" />
462       </bpmndi:BPMNShape>
463       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_247" targetElement="_BPMNShape_EndEvent_64">
464         <di:waypoint x="1640" y="384" />
465         <di:waypoint x="1699" y="384" />
466         <bpmndi:BPMNLabel>
467           <dc:Bounds x="1670" y="369" width="0" height="0" />
468         </bpmndi:BPMNLabel>
469       </bpmndi:BPMNEdge>
470       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_19" bpmnElement="errorHandlingSubProcess" isExpanded="true">
471         <dc:Bounds x="207" y="692" width="353" height="193" />
472       </bpmndi:BPMNShape>
473       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_63" bpmnElement="catchErrors">
474         <dc:Bounds x="242" y="771" width="36" height="36" />
475         <bpmndi:BPMNLabel>
476           <dc:Bounds x="245" y="812" width="29" height="12" />
477         </bpmndi:BPMNLabel>
478       </bpmndi:BPMNShape>
479       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_213" bpmnElement="EndEvent_5">
480         <dc:Bounds x="482" y="771" width="36" height="36" />
481         <bpmndi:BPMNLabel>
482           <dc:Bounds x="455" y="812" width="90" height="0" />
483         </bpmndi:BPMNLabel>
484       </bpmndi:BPMNShape>
485       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_249" bpmnElement="assignError">
486         <dc:Bounds x="326" y="749" width="100" height="80" />
487       </bpmndi:BPMNShape>
488       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_StartEvent_63" targetElement="_BPMNShape_ScriptTask_249">
489         <di:waypoint x="278" y="789" />
490         <di:waypoint x="326" y="789" />
491         <bpmndi:BPMNLabel>
492           <dc:Bounds x="263" y="789" width="90" height="0" />
493         </bpmndi:BPMNLabel>
494       </bpmndi:BPMNEdge>
495       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_ScriptTask_249" targetElement="_BPMNShape_EndEvent_213">
496         <di:waypoint x="426" y="789" />
497         <di:waypoint x="482" y="789" />
498         <bpmndi:BPMNLabel>
499           <dc:Bounds x="409" y="789" width="90" height="0" />
500         </bpmndi:BPMNLabel>
501       </bpmndi:BPMNEdge>
502       <bpmndi:BPMNEdge id="SequenceFlow_1eciucn_di" bpmnElement="SequenceFlow_1eciucn">
503         <di:waypoint x="691" y="275" />
504         <di:waypoint x="781" y="275" />
505         <bpmndi:BPMNLabel>
506           <dc:Bounds x="736" y="260" width="0" height="0" />
507         </bpmndi:BPMNLabel>
508       </bpmndi:BPMNEdge>
509       <bpmndi:BPMNShape id="BoundaryEvent_1e5qjpm_di" bpmnElement="BoundaryEvent_1">
510         <dc:Bounds x="782" y="328" width="36" height="36" />
511         <bpmndi:BPMNLabel>
512           <dc:Bounds x="715" y="361" width="78" height="12" />
513         </bpmndi:BPMNLabel>
514       </bpmndi:BPMNShape>
515       <bpmndi:BPMNShape id="EndEvent_0vl0pvg_di" bpmnElement="endEventException">
516         <dc:Bounds x="1560" y="77" width="36" height="36" />
517         <bpmndi:BPMNLabel>
518           <dc:Bounds x="1607" y="84" width="90" height="12" />
519         </bpmndi:BPMNLabel>
520       </bpmndi:BPMNShape>
521       <bpmndi:BPMNEdge id="SequenceFlow_0mzs1ze_di" bpmnElement="SequenceFlow_0mzs1ze">
522         <di:waypoint x="800" y="364" />
523         <di:waypoint x="800" y="412" />
524         <di:waypoint x="941" y="412" />
525         <bpmndi:BPMNLabel>
526           <dc:Bounds x="815" y="388" width="0" height="0" />
527         </bpmndi:BPMNLabel>
528       </bpmndi:BPMNEdge>
529       <bpmndi:BPMNEdge id="SequenceFlow_11ah5pw_di" bpmnElement="SequenceFlow_11ah5pw">
530         <di:waypoint x="1041" y="412" />
531         <di:waypoint x="1154" y="412" />
532         <di:waypoint x="1154" y="317" />
533         <bpmndi:BPMNLabel>
534           <dc:Bounds x="1098" y="397" width="0" height="0" />
535         </bpmndi:BPMNLabel>
536       </bpmndi:BPMNEdge>
537       <bpmndi:BPMNShape id="EndEvent_0xhvk12_di" bpmnElement="eEndEventSubprocess">
538         <dc:Bounds x="926" y="257" width="36" height="36" />
539         <bpmndi:BPMNLabel>
540           <dc:Bounds x="905" y="292" width="59" height="24" />
541         </bpmndi:BPMNLabel>
542       </bpmndi:BPMNShape>
543       <bpmndi:BPMNShape id="CallActivity_11xgv33_di" bpmnElement="CallActivity_11xgv33">
544         <dc:Bounds x="1223" y="795" width="100" height="80" />
545       </bpmndi:BPMNShape>
546       <bpmndi:BPMNShape id="ScriptTask_1vhiyz5_di" bpmnElement="SetInterimNotificationFlag">
547         <dc:Bounds x="1223" y="666" width="100" height="80" />
548       </bpmndi:BPMNShape>
549       <bpmndi:BPMNEdge id="SequenceFlow_193cb6p_di" bpmnElement="SequenceFlow_193cb6p">
550         <di:waypoint x="1273" y="746" />
551         <di:waypoint x="1273" y="795" />
552         <bpmndi:BPMNLabel>
553           <dc:Bounds x="1288" y="770.5" width="0" height="0" />
554         </bpmndi:BPMNLabel>
555       </bpmndi:BPMNEdge>
556       <bpmndi:BPMNShape id="EndEvent_18rq0b6_di" bpmnElement="EndEvent_18rq0b6">
557         <dc:Bounds x="1255.3117870722433" y="919.4537389100127" width="36" height="36" />
558         <bpmndi:BPMNLabel>
559           <dc:Bounds x="1274" y="955.4537389100127" width="0" height="0" />
560         </bpmndi:BPMNLabel>
561       </bpmndi:BPMNShape>
562       <bpmndi:BPMNEdge id="SequenceFlow_1em7gys_di" bpmnElement="SequenceFlow_1em7gys">
563         <di:waypoint x="1273" y="875" />
564         <di:waypoint x="1273" y="920" />
565         <bpmndi:BPMNLabel>
566           <dc:Bounds x="1288" y="897.5" width="0" height="0" />
567         </bpmndi:BPMNLabel>
568       </bpmndi:BPMNEdge>
569       <bpmndi:BPMNShape id="ScriptTask_1ayq9yl_di" bpmnElement="ResetInterimNotificationFlag">
570         <dc:Bounds x="1386" y="345" width="100" height="80" />
571       </bpmndi:BPMNShape>
572       <bpmndi:BPMNEdge id="SequenceFlow_1w1za5m_di" bpmnElement="SequenceFlow_1w1za5m">
573         <di:waypoint x="1486" y="385" />
574         <di:waypoint x="1540" y="384" />
575         <bpmndi:BPMNLabel>
576           <dc:Bounds x="1513" y="369.5" width="0" height="0" />
577         </bpmndi:BPMNLabel>
578       </bpmndi:BPMNEdge>
579     </bpmndi:BPMNPlane>
580   </bpmndi:BPMNDiagram>
581 </bpmn2:definitions>