Merge "Return empty WorkflowInputParameters" into dublin
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Tue, 28 May 2019 13:36:06 +0000 (13:36 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 28 May 2019 13:36:06 +0000 (13:36 +0000)
13 files changed:
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/MessageConverterConfiguration.java [new file with mode: 0644]
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/WebSecurityConfigImpl.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/SdcPackageProvider.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiHelper.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/aai/AaiServiceProviderImpl.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmServiceProviderImpl.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/extclients/vnfm/VnfmUrlProvider.java
adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/lifecycle/LifecycleManager.java
bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy
bpmn/pom.xml
bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/HandlePNF.groovy
bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/HandlePNF.bpmn
bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnf.bpmn

diff --git a/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/MessageConverterConfiguration.java b/adapters/mso-vnfm-adapter/mso-vnfm-etsi-adapter/src/main/java/org/onap/so/adapters/vnfmadapter/MessageConverterConfiguration.java
new file mode 100644 (file)
index 0000000..d99b688
--- /dev/null
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.adapters.vnfmadapter;
+
+import com.google.gson.Gson;
+import java.util.ArrayList;
+import java.util.Collection;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.JSON;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.GsonHttpMessageConverter;
+
+/**
+ * Configures message converter
+ */
+@Configuration
+public class MessageConverterConfiguration {
+
+    @Bean
+    public HttpMessageConverters customConverters() {
+        final Collection<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
+        final Gson gson = new JSON().getGson();
+        final GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter(gson);
+        messageConverters.add(gsonHttpMessageConverter);
+        return new HttpMessageConverters(true, messageConverters);
+    }
+}
index 2b33e8b..f083013 100644 (file)
@@ -36,9 +36,11 @@ public class WebSecurityConfigImpl extends WebSecurityConfig {
 
     @Override
     protected void configure(final HttpSecurity http) throws Exception {
-        http.csrf().disable().authorizeRequests().antMatchers("/manage/health", "/manage/info").permitAll()
-                .antMatchers("/**").hasAnyRole(StringUtils.collectionToDelimitedString(getRoles(), ",")).and()
-                .httpBasic();
+        http.csrf().disable().authorizeRequests()
+                .antMatchers("/manage/health", "/manage/info", Constants.BASE_URL + "/lcn/**",
+                        Constants.BASE_URL + "/grants/**")
+                .permitAll().antMatchers("/**").hasAnyRole(StringUtils.collectionToDelimitedString(getRoles(), ","))
+                .and().httpBasic();
     }
 
     @Override
index fd92910..57d6615 100644 (file)
@@ -89,6 +89,7 @@ public class SdcPackageProvider {
         try {
             final String vnfdLocation = getVnfdLocation(new ByteArrayInputStream(onapPackage));
             final String onapVnfdContent = getFileInZip(new ByteArrayInputStream(onapPackage), vnfdLocation).toString();
+            logger.debug("VNFD CONTENTS: " + onapVnfdContent);
             final JsonObject root = new Gson().toJsonTree(new Yaml().load(onapVnfdContent)).getAsJsonObject();
 
             final JsonObject topologyTemplates = child(root, "topology_template");
index 1374e89..110bbab 100644 (file)
@@ -202,6 +202,9 @@ public class AaiHelper {
         logger.debug("VNFMs in ESR: " + vnfmsInEsr);
 
         for (final EsrVnfm vnfm : vnfmsInEsr.getEsrVnfm()) {
+            final EsrSystemInfoList systemInfolist =
+                    aaiServiceProvider.invokeGetVnfmEsrSystemInfoList(vnfm.getVnfmId());
+            vnfm.setEsrSystemInfoList(systemInfolist);
             if (vnfmHasMatchingEsrSystemInfoType(vnfm, vnf.getNfType())) {
                 return vnfm;
             }
@@ -212,7 +215,7 @@ public class AaiHelper {
     private boolean vnfmHasMatchingEsrSystemInfoType(final EsrVnfm vnfm, final String type) {
         logger.debug("Checking VNFM ID: " + vnfm + ": " + vnfm.getVnfmId());
 
-        final EsrSystemInfoList systemInfolist = aaiServiceProvider.invokeGetVnfmEsrSystemInfoList(vnfm.getVnfmId());
+        final EsrSystemInfoList systemInfolist = vnfm.getEsrSystemInfoList();
         if (systemInfolist != null) {
             for (final EsrSystemInfo esrSystemInfo : systemInfolist.getEsrSystemInfo()) {
                 if (esrSystemInfo.getType().equals(type)) {
index 50e579d..1fa62ef 100644 (file)
@@ -58,8 +58,8 @@ public class AaiServiceProviderImpl implements AaiServiceProvider {
     @Override
     public GenericVnfs invokeQueryGenericVnf(final String selfLink) {
         return aaiClientProvider.getAaiClient()
-                .get(GenericVnfs.class,
-                        AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNFS).queryParam("selflink", selfLink))
+                .get(GenericVnfs.class, AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNFS)
+                        .queryParam("selflink", selfLink.replaceAll("https", "http")))
                 .orElseGet(() -> {
                     logger.debug("No vnf found in AAI with selflink: {}", selfLink);
                     return null;
index e66f86b..0b5b09a 100644 (file)
@@ -54,7 +54,7 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
 
     @Override
     public Optional<InlineResponse201> getVnf(final String vnfSelfLink) {
-        return httpServiceProvider.get(vnfSelfLink, InlineResponse201.class);
+        return httpServiceProvider.get(vnfSelfLink.replaceAll("https", "http"), InlineResponse201.class);
     }
 
     @Override
@@ -96,7 +96,7 @@ public class VnfmServiceProviderImpl implements VnfmServiceProvider {
             logger.error(errorMessage, exception);
             throw new VnfmRequestFailureException(errorMessage, exception);
         }
-        if (response.getStatusCode() != HttpStatus.OK) {
+        if (response.getStatusCode() != HttpStatus.CREATED) {
             final String errorMessage = "Subscription to VNFM " + vnfmId + " returned status code: "
                     + response.getStatusCode() + ", request: " + subscriptionRequest;
             logger.error(errorMessage);
index f948f3c..9c760b4 100644 (file)
@@ -52,7 +52,7 @@ public class VnfmUrlProvider {
      * @return the URL of the operation
      */
     public String getOperationUrl(final String vnfmId, final String operationId) {
-        final String url = UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("/vnf_lcm_op_occs/")
+        final String url = UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("vnf_lcm_op_occs")
                 .pathSegment(operationId).build().toString();
         logger.debug("getOperationUrl:" + url);
 
@@ -67,7 +67,7 @@ public class VnfmUrlProvider {
      */
     public String getSubscriptionsUrl(final String vnfmId) {
         final String url =
-                UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("/subscriptions").build().toString();
+                UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("subscriptions").build().toString();
         logger.debug("getSubscriptionUrl:" + url);
 
         return url;
@@ -75,7 +75,7 @@ public class VnfmUrlProvider {
 
     public String getCreationUrl(final String vnfmId) {
         final String url =
-                UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("/vnf_instances").build().toString();
+                UriComponentsBuilder.fromUri(getBaseUri(vnfmId)).pathSegment("vnf_instances").build().toString();
         logger.debug("getCreationUrl:" + url);
 
         return url;
index 32bb9b9..a4f7d32 100644 (file)
@@ -95,7 +95,7 @@ public class LifecycleManager {
 
         logger.info("Create response: {}", vnfmResponse);
 
-        genericVnf.setSelflink(vnfmResponse.getLinks().getSelf().getHref());
+        genericVnf.setSelflink(getSelfLink(vnfmResponse, vnfm));
         aaiServiceProvider.invokePutGenericVnf(genericVnf);
         final String vnfIdInVnfm = vnfmResponse.getId();
 
@@ -111,6 +111,15 @@ public class LifecycleManager {
         return response;
     }
 
+    private String getSelfLink(final InlineResponse201 vnfmResponse, final EsrVnfm vnfm) {
+        if (vnfmResponse.getLinks() != null && vnfmResponse.getLinks().getSelf() != null
+                && vnfmResponse.getLinks().getSelf().getHref() != null) {
+            return vnfmResponse.getLinks().getSelf().getHref().replaceAll("https", "http");
+        }
+        return vnfm.getEsrSystemInfoList().getEsrSystemInfo().iterator().next().getServiceUrl() + "/vnf_instances/"
+                + vnfmResponse.getId();
+    }
+
     private OamIpAddressSource extractOamIpAddressSource(final CreateVnfRequest request) {
         final Map<String, String> additionalParams = request.getAdditionalParams();
         try {
index d17a3c4..623d5a6 100644 (file)
@@ -36,9 +36,11 @@ import org.onap.so.client.HttpClient
 import org.onap.so.client.HttpClientFactory
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
+import org.onap.so.db.catalog.beans.AuthenticationType
 import org.onap.so.db.catalog.beans.CloudIdentity
 import org.onap.so.db.catalog.beans.CloudSite
 import org.onap.so.db.catalog.beans.HomingInstance
+import org.onap.so.db.catalog.beans.ServerType
 import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
 import org.onap.so.utils.TargetEntity
 
index fd070bb..85a45db 100644 (file)
@@ -25,7 +25,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     <sdnc.northbound.version>1.5.1</sdnc.northbound.version>
-    <appc.client.version>1.6.0-SNAPSHOT</appc.client.version>
+    <appc.client.version>1.5.0</appc.client.version>
   </properties>
 
   <modules>
index 261f107..f06d71c 100644 (file)
@@ -38,18 +38,26 @@ public class HandlePNF extends AbstractServiceTaskProcessor{
     @Override
     void preProcessRequest(DelegateExecution execution) {
         logger.debug("Start preProcess for HandlePNF")
-
         // set correlation ID
         def resourceInput = execution.getVariable("resourceInput")
         String serInput = jsonUtil.getJsonValue(resourceInput, "requestsInputs")
         String correlationId = jsonUtil.getJsonValue(serInput, "service.parameters.requestInputs.ont_ont_pnf_name")
         if (!StringUtils.isEmpty(correlationId)) {
-            execution.setVariable(ExecutionVariableNames.CORRELATION_ID, correlationId)
+            execution.setVariable(ExecutionVariableNames.PNF_CORRELATION_ID, correlationId)
             logger.debug("Found correlation id : " + correlationId)
         } else {
             logger.error("== correlation id is empty ==")
             exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "correlation id is not provided")
         }
+        
+        String serviceInstanceID = jsonUtil.getJsonValue(resourceInput, ExecutionVariableNames.SERVICE_INSTANCE_ID)
+        if (!StringUtils.isEmpty(serviceInstanceID)) {
+            execution.setVariable(ExecutionVariableNames.SERVICE_INSTANCE_ID, serviceInstanceID)
+            logger.debug("found serviceInstanceID: "+serviceInstanceID)
+        } else {
+            logger.error("== serviceInstance ID is empty ==")
+            exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "serviceInstance ID is not provided")
+        }
 
         // next task will set the uuid
         logger.debug("exit preProcess for HandlePNF")
index c81b289..257a0de 100644 (file)
@@ -1,19 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="2.2.4">
   <bpmn:process id="HandlePNF" name="HandlePNF" isExecutable="true">
     <bpmn:startEvent id="createNS_StartEvent_pnf_disc" name="start PNF handling">
       <bpmn:outgoing>SequenceFlow_1c92ks3_activate</bpmn:outgoing>
     </bpmn:startEvent>
     <bpmn:scriptTask id="Task_13sx2bp_activate" name="Pre Process Request" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_1c92ks3_activate</bpmn:incoming>
-      <bpmn:outgoing>SequenceFlow_17xr584</bpmn:outgoing>
       <bpmn:outgoing>SequenceFlow_12q67gd</bpmn:outgoing>
       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
 def handlePNF = new HandlePNF()
 handlePNF.preProcessRequest(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:sequenceFlow id="SequenceFlow_1c92ks3_activate" sourceRef="createNS_StartEvent_pnf_disc" targetRef="Task_13sx2bp_activate" />
-    <bpmn:sequenceFlow id="SequenceFlow_17xr584" sourceRef="Task_13sx2bp_activate" targetRef="Task_0kv28gm" />
     <bpmn:sequenceFlow id="SequenceFlow_0pujwl4" sourceRef="Task_0657l04" targetRef="PostProcessPNFDiscovery" />
     <bpmn:endEvent id="EndEvent_0pigsdfk3" name="end PNF hadler">
       <bpmn:incoming>SequenceFlow_02fi1yn</bpmn:incoming>
@@ -21,8 +19,10 @@ handlePNF.preProcessRequest(execution)</bpmn:script>
     <bpmn:sequenceFlow id="SequenceFlow_1la8oih" sourceRef="PostProcessPNFDiscovery" targetRef="Task_1r8h7of" />
     <bpmn:callActivity id="Task_0657l04" name="invoke pnf handler" calledElement="CreateAndActivatePnfResource">
       <bpmn:extensionElements>
-        <camunda:in source="correlationId" target="correlationId" />
+        <camunda:in source="pnfCorrelationId" target="pnfCorrelationId" />
         <camunda:in source="pnfUuid" target="pnfUuid" />
+        <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
+        <camunda:in businessKey="#{execution.processBusinessKey}" />
       </bpmn:extensionElements>
       <bpmn:incoming>SequenceFlow_1apj1fn</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_0pujwl4</bpmn:outgoing>
@@ -30,7 +30,6 @@ handlePNF.preProcessRequest(execution)</bpmn:script>
     <bpmn:scriptTask id="PostProcessPNFDiscovery" name="Post Process Request" scriptFormat="groovy">
       <bpmn:incoming>SequenceFlow_0pujwl4</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1la8oih</bpmn:outgoing>
-      <bpmn:outgoing>SequenceFlow_1ezf4gu</bpmn:outgoing>
       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
 def handlePNF = new HandlePNF()
 handlePNF.postProcessRequest(execution)</bpmn:script>
@@ -39,13 +38,10 @@ handlePNF.postProcessRequest(execution)</bpmn:script>
     <bpmn:sequenceFlow id="SequenceFlow_1apj1fn" sourceRef="Task_0kv28gm" targetRef="Task_0657l04" />
     <bpmn:serviceTask id="Task_0kv28gm" name="Generate PNF uuid" camunda:delegateExpression="${GeneratePnfUuidDelegate}">
       <bpmn:incoming>SequenceFlow_12q67gd</bpmn:incoming>
-      <bpmn:incoming>SequenceFlow_17xr584</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1apj1fn</bpmn:outgoing>
     </bpmn:serviceTask>
-    <bpmn:sequenceFlow id="SequenceFlow_1ezf4gu" sourceRef="PostProcessPNFDiscovery" targetRef="Task_1r8h7of" />
     <bpmn:sequenceFlow id="SequenceFlow_02fi1yn" sourceRef="Task_1r8h7of" targetRef="EndEvent_0pigsdfk3" />
     <bpmn:scriptTask id="Task_1r8h7of" name="Send Sync Response" scriptFormat="groovy">
-      <bpmn:incoming>SequenceFlow_1ezf4gu</bpmn:incoming>
       <bpmn:incoming>SequenceFlow_1la8oih</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_02fi1yn</bpmn:outgoing>
       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
@@ -68,10 +64,6 @@ handlePNF.sendSyncResponse(execution)</bpmn:script>
         <di:waypoint x="-428" y="324" />
         <di:waypoint x="-341" y="324" />
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="SequenceFlow_17xr584_di" bpmnElement="SequenceFlow_17xr584">
-        <di:waypoint x="-241" y="324" />
-        <di:waypoint x="-180" y="324" />
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_0pujwl4_di" bpmnElement="SequenceFlow_0pujwl4">
         <di:waypoint x="81" y="324" />
         <di:waypoint x="156" y="324" />
@@ -94,19 +86,15 @@ handlePNF.sendSyncResponse(execution)</bpmn:script>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="SequenceFlow_12q67gd_di" bpmnElement="SequenceFlow_12q67gd">
         <di:waypoint x="-241" y="324" />
-        <di:waypoint x="-180" y="324" />
+        <di:waypoint x="-176" y="324" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_1apj1fn_di" bpmnElement="SequenceFlow_1apj1fn">
-        <di:waypoint x="-80" y="324" />
+        <di:waypoint x="-76" y="324" />
         <di:waypoint x="-19" y="324" />
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNShape id="ServiceTask_1y3h50n_di" bpmnElement="Task_0kv28gm">
-        <dc:Bounds x="-180" y="284" width="100" height="80" />
+        <dc:Bounds x="-176" y="284" width="100" height="80" />
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNEdge id="SequenceFlow_1ezf4gu_di" bpmnElement="SequenceFlow_1ezf4gu">
-        <di:waypoint x="256" y="324" />
-        <di:waypoint x="353" y="324" />
-      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge id="SequenceFlow_02fi1yn_di" bpmnElement="SequenceFlow_02fi1yn">
         <di:waypoint x="453" y="324" />
         <di:waypoint x="543" y="324" />
index 5043635..df95cf0 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<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="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<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="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
   <bpmn2:process id="DoCreateVnf" name="DoCreateVnf" isExecutable="true">
     <bpmn2:startEvent id="StartEvent_1">
       <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
@@ -90,7 +90,7 @@ createVnf.preProcessSDNCActivateRequest(execution)]]></bpmn2:script>
       <bpmn2:extensionElements>
         <camunda:in source="DoCVNF_activateSDNCRequest" target="sdncAdapterWorkflowRequest" />
         <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
-        <camunda:in source="mso-reqeuest-id" target="mso-request-id" />
+        <camunda:in source="mso-request-id" target="mso-request-id" />
         <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
         <camunda:out source="WorkflowException" target="WorkflowException" />
         <camunda:out source="sdncAdapterResponse" target="DoCVNF_activateSDNCAdapterResponse" />