e0fc14e93348d71e8afbe9cadc0387d5f6bdda60
[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.6.0" 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"><![CDATA[#{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><![CDATA[import org.openecomp.mso.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">${URN_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><![CDATA[import org.openecomp.mso.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><![CDATA[import org.openecomp.mso.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"><![CDATA[#{execution.getVariable("asynchronousResponseTimeout")==true}]]></bpmn2:conditionExpression>
92     </bpmn2:sequenceFlow>
93     <bpmn2:subProcess id="SubProcess" name="Wait for asynchronous message">
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><![CDATA[import org.openecomp.mso.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><![CDATA[import org.openecomp.mso.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="toggleSuccessIndicator" />
133     <bpmn2:sequenceFlow id="SequenceFlow_30" name="Not Done" sourceRef="ExclusiveGateway_1" targetRef="ParallelGateway_3">
134       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("continueListening")==true}]]></bpmn2:conditionExpression>
135     </bpmn2:sequenceFlow>
136     <bpmn2:scriptTask id="toggleSuccessIndicator" name="Toggle Success Indicator" scriptFormat="groovy">
137       <bpmn2:incoming>Done</bpmn2:incoming>
138       <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
139       <bpmn2:script><![CDATA[import org.openecomp.mso.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="toggleSuccess" />
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><![CDATA[import org.openecomp.mso.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:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy">
181       <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming>
182       <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing>
183       <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
184 def sdnc= new SDNCAdapter()
185 sdnc.toggleSuccessIndicator(execution)]]></bpmn2:script>
186     </bpmn2:scriptTask>
187     <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="toggleSuccess" targetRef="ExclusiveGateway_2" />
188     <bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Service Config Activate?" default="SequenceFlow_23">
189       <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming>
190       <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
191       <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
192     </bpmn2:exclusiveGateway>
193     <bpmn2:sequenceFlow id="SequenceFlow_4" name="Yes" sourceRef="ExclusiveGateway_2" targetRef="CallActivity_11xgv33">
194       <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("serviceConfigActivate")==true}]]></bpmn2:conditionExpression>
195     </bpmn2:sequenceFlow>
196     <bpmn2:sequenceFlow id="SequenceFlow_23" name="No" sourceRef="ExclusiveGateway_2" targetRef="EndEvent_1" />
197     <bpmn2:endEvent id="EndEvent_1">
198       <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
199     </bpmn2:endEvent>
200     <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Boundary Event" cancelActivity="false" attachedToRef="SubProcess">
201       <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>
202       <bpmn2:outgoing>SequenceFlow_0mzs1ze</bpmn2:outgoing>
203       <bpmn2:timerEventDefinition>
204         <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${sdncTimeoutValue}</bpmn2:timeDuration>
205       </bpmn2:timerEventDefinition>
206     </bpmn2:boundaryEvent>
207     <bpmn2:endEvent id="endEventException" name="Timeout Exception">
208       <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
209       <bpmn2:terminateEventDefinition />
210     </bpmn2:endEvent>
211     <bpmn2:sequenceFlow id="SequenceFlow_0mzs1ze" sourceRef="BoundaryEvent_1" targetRef="setTimeoutEx" />
212     <bpmn2:sequenceFlow id="SequenceFlow_11ah5pw" sourceRef="setTimeoutEx" targetRef="returnWorkflowResult" />
213     <bpmn2:callActivity id="CallActivity_11xgv33" name="Call Notification Service" calledElement="${URN_mso_workflow_notification_name}" camunda:calledElementBinding="deployment">
214       <bpmn2:extensionElements>
215         <camunda:in source="mso-request-id" target="mso-request-id" />
216         <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
217         <camunda:in variables="all" />
218         <camunda:out variables="all" />
219       </bpmn2:extensionElements>
220       <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
221     </bpmn2:callActivity>
222   </bpmn2:process>
223   <bpmn2:message id="Message_1" name="sdncAdapterWorkflowRequest" />
224   <bpmn2:message id="Message_2" name="sdncAdapterCallbackRequest" />
225   <bpmn2:error id="Error_3" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
226   <bpmn2:signal id="Signal_1" name="InterimStatus" />
227   <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" />
228   <bpmndi:BPMNDiagram id="BPMNDiagram_1">
229     <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="sdncAdapter">
230       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_33" bpmnElement="SDNCAdapter_Start">
231         <dc:Bounds x="111" y="161" width="36" height="36" />
232         <bpmndi:BPMNLabel>
233           <dc:Bounds x="72" y="202" width="115" height="22" />
234         </bpmndi:BPMNLabel>
235       </bpmndi:BPMNShape>
236       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_62" bpmnElement="invokeSDNCAdapter">
237         <dc:Bounds x="342" y="139" width="100" height="80" />
238       </bpmndi:BPMNShape>
239       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_29" bpmnElement="isResponseOK" isMarkerVisible="true">
240         <dc:Bounds x="519" y="153" width="50" height="50" />
241         <bpmndi:BPMNLabel>
242           <dc:Bounds x="569" y="182" width="106" height="22" />
243         </bpmndi:BPMNLabel>
244       </bpmndi:BPMNShape>
245       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_64" bpmnElement="endEventFlow">
246         <dc:Bounds x="1560" y="366" width="36" height="36" />
247         <bpmndi:BPMNLabel>
248           <dc:Bounds x="1595" y="373" width="96" height="22" />
249         </bpmndi:BPMNLabel>
250       </bpmndi:BPMNShape>
251       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_65" bpmnElement="badResponseEndFlow">
252         <dc:Bounds x="762" y="104" width="36" height="36" />
253         <bpmndi:BPMNLabel>
254           <dc:Bounds x="804" y="111" width="149" height="22" />
255         </bpmndi:BPMNLabel>
256       </bpmndi:BPMNShape>
257       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="badSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_24">
258         <di:waypoint xsi:type="dc:Point" x="544" y="153" />
259         <di:waypoint xsi:type="dc:Point" x="544" y="122" />
260         <di:waypoint xsi:type="dc:Point" x="600" y="122" />
261         <bpmndi:BPMNLabel>
262           <dc:Bounds x="441" y="99" width="164" height="22" />
263         </bpmndi:BPMNLabel>
264       </bpmndi:BPMNEdge>
265       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_33" targetElement="_BPMNShape_ScriptTask_3">
266         <di:waypoint xsi:type="dc:Point" x="147" y="179" />
267         <di:waypoint xsi:type="dc:Point" x="194" y="179" />
268         <bpmndi:BPMNLabel>
269           <dc:Bounds x="171" y="179" width="0" height="0" />
270         </bpmndi:BPMNLabel>
271       </bpmndi:BPMNEdge>
272       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="goodSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_27">
273         <di:waypoint xsi:type="dc:Point" x="544" y="203" />
274         <di:waypoint xsi:type="dc:Point" x="544" y="246" />
275         <bpmndi:BPMNLabel>
276           <dc:Bounds x="459" y="208" width="172" height="22" />
277         </bpmndi:BPMNLabel>
278       </bpmndi:BPMNEdge>
279       <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_68" bpmnElement="returnWorkflowResult">
280         <dc:Bounds x="1104" y="237" width="100" height="80" />
281       </bpmndi:BPMNShape>
282       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_3" bpmnElement="processMessage">
283         <dc:Bounds x="194" y="139" width="100" height="80" />
284       </bpmndi:BPMNShape>
285       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_3" targetElement="_BPMNShape_ServiceTask_62">
286         <di:waypoint xsi:type="dc:Point" x="294" y="179" />
287         <di:waypoint xsi:type="dc:Point" x="342" y="179" />
288         <bpmndi:BPMNLabel>
289           <dc:Bounds x="300" y="153" width="30" height="22" />
290         </bpmndi:BPMNLabel>
291       </bpmndi:BPMNEdge>
292       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ServiceTask_68" targetElement="_BPMNShape_ExclusiveGateway_53">
293         <di:waypoint xsi:type="dc:Point" x="1204" y="277" />
294         <di:waypoint xsi:type="dc:Point" x="1248" y="276" />
295         <bpmndi:BPMNLabel>
296           <dc:Bounds x="1211" y="251" width="37" height="22" />
297         </bpmndi:BPMNLabel>
298       </bpmndi:BPMNEdge>
299       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ServiceTask_62" targetElement="_BPMNShape_ExclusiveGateway_29">
300         <di:waypoint xsi:type="dc:Point" x="442" y="179" />
301         <di:waypoint xsi:type="dc:Point" x="480" y="179" />
302         <di:waypoint xsi:type="dc:Point" x="480" y="178" />
303         <di:waypoint xsi:type="dc:Point" x="519" y="178" />
304         <bpmndi:BPMNLabel>
305           <dc:Bounds x="468" y="153" width="37" height="22" />
306         </bpmndi:BPMNLabel>
307       </bpmndi:BPMNEdge>
308       <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_16" bpmnElement="IntermediateCatchEvent">
309         <dc:Bounds x="781" y="257" width="36" height="36" />
310         <bpmndi:BPMNLabel>
311           <dc:Bounds x="739" y="292" width="60" height="12" />
312         </bpmndi:BPMNLabel>
313       </bpmndi:BPMNShape>
314       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_11" bpmnElement="SubProcess" isExpanded="true">
315         <dc:Bounds x="619" y="209" width="379" height="137" />
316       </bpmndi:BPMNShape>
317       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_38" bpmnElement="StartEvent">
318         <dc:Bounds x="655" y="257" width="36" height="36" />
319         <bpmndi:BPMNLabel>
320           <dc:Bounds x="630" y="292" width="54" height="12" />
321         </bpmndi:BPMNLabel>
322       </bpmndi:BPMNShape>
323       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_SubProcess_11">
324         <di:waypoint xsi:type="dc:Point" x="998" y="278" />
325         <di:waypoint xsi:type="dc:Point" x="1104" y="277" />
326         <bpmndi:BPMNLabel>
327           <dc:Bounds x="1051" y="262.5" width="0" height="0" />
328         </bpmndi:BPMNLabel>
329       </bpmndi:BPMNEdge>
330       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_24" bpmnElement="setBadResponse">
331         <dc:Bounds x="600" y="82" width="100" height="80" />
332       </bpmndi:BPMNShape>
333       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="Exception" sourceElement="_BPMNShape_ScriptTask_24" targetElement="_BPMNShape_EndEvent_65">
334         <di:waypoint xsi:type="dc:Point" x="700" y="122" />
335         <di:waypoint xsi:type="dc:Point" x="762" y="122" />
336         <bpmndi:BPMNLabel>
337           <dc:Bounds x="699" y="99" width="64" height="22" />
338         </bpmndi:BPMNLabel>
339       </bpmndi:BPMNEdge>
340       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_25" bpmnElement="setTimeoutEx">
341         <dc:Bounds x="941" y="372" width="100" height="80" />
342       </bpmndi:BPMNShape>
343       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_IntermediateCatchEvent_16">
344         <di:waypoint xsi:type="dc:Point" x="817" y="275" />
345         <di:waypoint xsi:type="dc:Point" x="926" y="275" />
346         <bpmndi:BPMNLabel>
347           <dc:Bounds x="872" y="260" width="0" height="0" />
348         </bpmndi:BPMNLabel>
349       </bpmndi:BPMNEdge>
350       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_53" bpmnElement="timeoutError" isMarkerVisible="true">
351         <dc:Bounds x="1248" y="251" width="50" height="50" />
352         <bpmndi:BPMNLabel>
353           <dc:Bounds x="1300" y="266" width="118" height="22" />
354         </bpmndi:BPMNLabel>
355       </bpmndi:BPMNShape>
356       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="noTimeoutError" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ExclusiveGateway_54">
357         <di:waypoint xsi:type="dc:Point" x="1273" y="301" />
358         <di:waypoint xsi:type="dc:Point" x="1273" y="359" />
359         <bpmndi:BPMNLabel>
360           <dc:Bounds x="1280" y="324" width="72" height="22" />
361         </bpmndi:BPMNLabel>
362       </bpmndi:BPMNEdge>
363       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ScriptTask_25">
364         <di:waypoint xsi:type="dc:Point" x="1273" y="251" />
365         <di:waypoint xsi:type="dc:Point" x="1273" y="95" />
366         <di:waypoint xsi:type="dc:Point" x="1560" y="95" />
367         <bpmndi:BPMNLabel>
368           <dc:Bounds x="1301" y="169.45283018867923" width="39" height="12" />
369         </bpmndi:BPMNLabel>
370       </bpmndi:BPMNEdge>
371       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true">
372         <dc:Bounds x="1248" y="359" width="50" height="50" />
373         <bpmndi:BPMNLabel>
374           <dc:Bounds x="1194" y="372" width="57" height="24" />
375         </bpmndi:BPMNLabel>
376       </bpmndi:BPMNShape>
377       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="Done" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_247">
378         <di:waypoint xsi:type="dc:Point" x="1298" y="384" />
379         <di:waypoint xsi:type="dc:Point" x="1383" y="384" />
380         <bpmndi:BPMNLabel>
381           <dc:Bounds x="1316" y="384" width="36" height="22" />
382         </bpmndi:BPMNLabel>
383       </bpmndi:BPMNEdge>
384       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_27" bpmnElement="resetCallbackRequest">
385         <dc:Bounds x="494" y="246" width="100" height="80" />
386       </bpmndi:BPMNShape>
387       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_27" targetElement="_BPMNShape_SubProcess_11">
388         <di:waypoint xsi:type="dc:Point" x="594" y="286" />
389         <di:waypoint xsi:type="dc:Point" x="607" y="286" />
390         <di:waypoint xsi:type="dc:Point" x="607" y="275" />
391         <di:waypoint xsi:type="dc:Point" x="619" y="275" />
392         <bpmndi:BPMNLabel>
393           <dc:Bounds x="622" y="280.5" width="0" height="0" />
394         </bpmndi:BPMNLabel>
395       </bpmndi:BPMNEdge>
396       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ParallelGateway_14">
397         <di:waypoint xsi:type="dc:Point" x="1273" y="409" />
398         <di:waypoint xsi:type="dc:Point" x="1273" y="467" />
399         <bpmndi:BPMNLabel>
400           <dc:Bounds x="1273" y="423" width="60" height="22" />
401         </bpmndi:BPMNLabel>
402       </bpmndi:BPMNEdge>
403       <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_55" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true">
404         <dc:Bounds x="1248" y="663" width="50" height="50" />
405         <bpmndi:BPMNLabel>
406           <dc:Bounds x="1105" y="678" width="145" height="22" />
407         </bpmndi:BPMNLabel>
408       </bpmndi:BPMNShape>
409       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_55" targetElement="CallActivity_11xgv33_di">
410         <di:waypoint xsi:type="dc:Point" x="1273" y="713" />
411         <di:waypoint xsi:type="dc:Point" x="1273" y="782" />
412         <bpmndi:BPMNLabel>
413           <dc:Bounds x="1279" y="722.5754830930483" width="18" height="12" />
414         </bpmndi:BPMNLabel>
415       </bpmndi:BPMNEdge>
416       <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_14" bpmnElement="ParallelGateway_3">
417         <dc:Bounds x="1248" y="467" width="50" height="50" />
418         <bpmndi:BPMNLabel>
419           <dc:Bounds x="1273" y="522" width="0" height="0" />
420         </bpmndi:BPMNLabel>
421       </bpmndi:BPMNShape>
422       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ParallelGateway_14" targetElement="_BPMNShape_ScriptTask_255">
423         <di:waypoint xsi:type="dc:Point" x="1273" y="517" />
424         <di:waypoint xsi:type="dc:Point" x="1274" y="552" />
425         <bpmndi:BPMNLabel>
426           <dc:Bounds x="1270" y="533" width="6" height="6" />
427         </bpmndi:BPMNLabel>
428       </bpmndi:BPMNEdge>
429       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_96" bpmnElement="EndEvent_1">
430         <dc:Bounds x="1444" y="671" width="36" height="36" />
431         <bpmndi:BPMNLabel>
432           <dc:Bounds x="1462" y="712" width="0" height="0" />
433         </bpmndi:BPMNLabel>
434       </bpmndi:BPMNShape>
435       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_55" targetElement="_BPMNShape_EndEvent_96">
436         <di:waypoint xsi:type="dc:Point" x="1298" y="688" />
437         <di:waypoint xsi:type="dc:Point" x="1444" y="689" />
438         <bpmndi:BPMNLabel>
439           <dc:Bounds x="1320" y="688" width="22" height="22" />
440         </bpmndi:BPMNLabel>
441       </bpmndi:BPMNEdge>
442       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ParallelGateway_14" targetElement="_BPMNShape_ScriptTask_27">
443         <di:waypoint xsi:type="dc:Point" x="1248" y="492" />
444         <di:waypoint xsi:type="dc:Point" x="544" y="492" />
445         <di:waypoint xsi:type="dc:Point" x="544" y="326" />
446         <bpmndi:BPMNLabel>
447           <dc:Bounds x="782" y="467" width="73" height="48" />
448         </bpmndi:BPMNLabel>
449       </bpmndi:BPMNEdge>
450       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_247" bpmnElement="toggleSuccessIndicator">
451         <dc:Bounds x="1383" y="344" width="100" height="80" />
452       </bpmndi:BPMNShape>
453       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_247" targetElement="_BPMNShape_EndEvent_64">
454         <di:waypoint xsi:type="dc:Point" x="1483" y="384" />
455         <di:waypoint xsi:type="dc:Point" x="1560" y="384" />
456         <bpmndi:BPMNLabel>
457           <dc:Bounds x="1499" y="384" width="6" height="6" />
458         </bpmndi:BPMNLabel>
459       </bpmndi:BPMNEdge>
460       <bpmndi:BPMNShape id="_BPMNShape_SubProcess_19" bpmnElement="errorHandlingSubProcess" isExpanded="true">
461         <dc:Bounds x="378" y="797" width="353" height="193" />
462       </bpmndi:BPMNShape>
463       <bpmndi:BPMNShape id="_BPMNShape_StartEvent_63" bpmnElement="catchErrors">
464         <dc:Bounds x="413" y="876" width="36" height="36" />
465         <bpmndi:BPMNLabel>
466           <dc:Bounds x="416" y="917" width="29" height="12" />
467         </bpmndi:BPMNLabel>
468       </bpmndi:BPMNShape>
469       <bpmndi:BPMNShape id="_BPMNShape_EndEvent_213" bpmnElement="EndEvent_5">
470         <dc:Bounds x="653" y="876" width="36" height="36" />
471         <bpmndi:BPMNLabel>
472           <dc:Bounds x="671" y="917" width="0" height="0" />
473         </bpmndi:BPMNLabel>
474       </bpmndi:BPMNShape>
475       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_249" bpmnElement="assignError">
476         <dc:Bounds x="497" y="854" width="100" height="80" />
477       </bpmndi:BPMNShape>
478       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_StartEvent_63" targetElement="_BPMNShape_ScriptTask_249">
479         <di:waypoint xsi:type="dc:Point" x="449" y="894" />
480         <di:waypoint xsi:type="dc:Point" x="497" y="894" />
481         <bpmndi:BPMNLabel>
482           <dc:Bounds x="479" y="894" width="0" height="0" />
483         </bpmndi:BPMNLabel>
484       </bpmndi:BPMNEdge>
485       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_ScriptTask_249" targetElement="_BPMNShape_EndEvent_213">
486         <di:waypoint xsi:type="dc:Point" x="597" y="894" />
487         <di:waypoint xsi:type="dc:Point" x="653" y="894" />
488         <bpmndi:BPMNLabel>
489           <dc:Bounds x="625" y="894" width="0" height="0" />
490         </bpmndi:BPMNLabel>
491       </bpmndi:BPMNEdge>
492       <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_255" bpmnElement="toggleSuccess">
493         <dc:Bounds x="1224" y="552" width="100" height="80" />
494       </bpmndi:BPMNShape>
495       <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ScriptTask_255" targetElement="_BPMNShape_ExclusiveGateway_55">
496         <di:waypoint xsi:type="dc:Point" x="1274" y="632" />
497         <di:waypoint xsi:type="dc:Point" x="1274" y="646" />
498         <di:waypoint xsi:type="dc:Point" x="1273" y="646" />
499         <di:waypoint xsi:type="dc:Point" x="1273" y="663" />
500         <bpmndi:BPMNLabel>
501           <dc:Bounds x="1271" y="646" width="6" height="6" />
502         </bpmndi:BPMNLabel>
503       </bpmndi:BPMNEdge>
504       <bpmndi:BPMNEdge id="SequenceFlow_1eciucn_di" bpmnElement="SequenceFlow_1eciucn">
505         <di:waypoint xsi:type="dc:Point" x="691" y="275" />
506         <di:waypoint xsi:type="dc:Point" x="781" y="275" />
507         <bpmndi:BPMNLabel>
508           <dc:Bounds x="736" y="260" width="0" height="0" />
509         </bpmndi:BPMNLabel>
510       </bpmndi:BPMNEdge>
511       <bpmndi:BPMNShape id="BoundaryEvent_1e5qjpm_di" bpmnElement="BoundaryEvent_1">
512         <dc:Bounds x="782" y="328" width="36" height="36" />
513         <bpmndi:BPMNLabel>
514           <dc:Bounds x="715" y="361" width="78" height="12" />
515         </bpmndi:BPMNLabel>
516       </bpmndi:BPMNShape>
517       <bpmndi:BPMNShape id="EndEvent_0vl0pvg_di" bpmnElement="endEventException">
518         <dc:Bounds x="1560" y="77" width="36" height="36" />
519         <bpmndi:BPMNLabel>
520           <dc:Bounds x="1607" y="84" width="90" height="12" />
521         </bpmndi:BPMNLabel>
522       </bpmndi:BPMNShape>
523       <bpmndi:BPMNEdge id="SequenceFlow_0mzs1ze_di" bpmnElement="SequenceFlow_0mzs1ze">
524         <di:waypoint xsi:type="dc:Point" x="800" y="364" />
525         <di:waypoint xsi:type="dc:Point" x="800" y="412" />
526         <di:waypoint xsi:type="dc:Point" x="941" y="412" />
527         <bpmndi:BPMNLabel>
528           <dc:Bounds x="815" y="388" width="0" height="0" />
529         </bpmndi:BPMNLabel>
530       </bpmndi:BPMNEdge>
531       <bpmndi:BPMNEdge id="SequenceFlow_11ah5pw_di" bpmnElement="SequenceFlow_11ah5pw">
532         <di:waypoint xsi:type="dc:Point" x="1041" y="412" />
533         <di:waypoint xsi:type="dc:Point" x="1154" y="412" />
534         <di:waypoint xsi:type="dc:Point" x="1154" y="317" />
535         <bpmndi:BPMNLabel>
536           <dc:Bounds x="1098" y="397" width="0" height="0" />
537         </bpmndi:BPMNLabel>
538       </bpmndi:BPMNEdge>
539       <bpmndi:BPMNShape id="EndEvent_0xhvk12_di" bpmnElement="eEndEventSubprocess">
540         <dc:Bounds x="926" y="257" width="36" height="36" />
541         <bpmndi:BPMNLabel>
542           <dc:Bounds x="905" y="292" width="59" height="24" />
543         </bpmndi:BPMNLabel>
544       </bpmndi:BPMNShape>
545       <bpmndi:BPMNShape id="CallActivity_11xgv33_di" bpmnElement="CallActivity_11xgv33">
546         <dc:Bounds x="1223" y="782" width="100" height="80" />
547       </bpmndi:BPMNShape>
548     </bpmndi:BPMNPlane>
549   </bpmndi:BPMNDiagram>
550 </bpmn2:definitions>