new NssmfUrlInfo(EXTERNAL_QUERY_JOB_STATUS, HttpMethod.GET));
 
         urlInfoMap.put(generateKey(ExecutorType.INTERNAL, null, ActionType.QUERY_SUB_NET_CAPABILITY),
-                new NssmfUrlInfo(INTERNAL_QUERY_SUB_NET_CAPABILITY, HttpMethod.POST));
+                new NssmfUrlInfo(INTERNAL_QUERY_SUB_NET_CAPABILITY, HttpMethod.GET));
     }
 
     /**
 
                 break;
 
             case GET:
-                base = new HttpGet(url);
+                HttpGetWithBody get = new HttpGetWithBody(url);
+                if (content != null) {
+                    get.setEntity(new StringEntity(content, APPLICATION_JSON));
+                }
+                base = get;
                 break;
 
             case PUT:
         }
     }
 
+    class HttpGetWithBody extends HttpEntityEnclosingRequestBase {
+        public static final String METHOD_NAME = "GET";
+
+        public HttpGetWithBody() {
+            super();
+        }
+
+        public HttpGetWithBody(final String uri) {
+            super();
+            setURI(URI.create(uri));
+        }
+
+        public HttpGetWithBody(final URI uri) {
+            super();
+            setURI(uri);
+        }
+
+        @Override
+        public String getMethod() {
+            return METHOD_NAME;
+        }
+    }
+
 
     public HttpClient getHttpsClient() {
 
 
                Response httpResponse = httpClient.post(oofRequest)
                int responseCode = httpResponse.getStatus()
                logger.debug("OOF sync response code is: " + responseCode)
-               if(responseCode != 200){
+        if(responseCode < 200 || responseCode >= 300){
                        exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from OOF.")
                }
        }
 
 package org.onap.so.bpmn.infrastructure.scripts
 
 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder
+import org.onap.so.serviceinstancebeans.Service
 
 import static org.apache.commons.lang3.StringUtils.*
 import org.camunda.bpm.engine.delegate.BpmnError
 
             logger.debug("modelInfo: " + serviceModelInfo)
 
-            //requestParameters
-            String subscriptionServiceType = jsonUtil.getJsonValue(ssRequest, "requestDetails.requestParameters.subscriptionServiceType")
-            if (isBlank(subscriptionServiceType)) {
-                msg = "Input subscriptionServiceType is null"
-                logger.debug(msg)
-                exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
-            } else {
-                execution.setVariable("subscriptionServiceType", subscriptionServiceType)
-            }
-            logger.debug("subscriptionServiceType: " + subscriptionServiceType)
+//            //requestParameters
+//            String subscriptionServiceType = jsonUtil.getJsonValue(ssRequest, "requestDetails.requestParameters.subscriptionServiceType")
+//            if (isBlank(subscriptionServiceType)) {
+//                msg = "Input subscriptionServiceType is null"
+//                logger.debug(msg)
+//                exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+//            } else {
+//                subscriptionServiceType = "5G"
+//                execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+//            }
+//            logger.debug("subscriptionServiceType: " + subscriptionServiceType)
 
             /*
             * Extracting User Parameters from incoming Request and converting into a Map
             */
-            Map reqMap = jsonSlurper.parseText(ssRequest)
+            Map reqMap = jsonSlurper.parseText(ssRequest) as Map
 
             //InputParams
             def userParamsList = reqMap.requestDetails?.requestParameters?.userParams
             execution.setVariable("serviceInputParams", inputMap)
             execution.setVariable("uuiRequest", uuiRequest)
             execution.setVariable("serviceProfile", serviceProfile)
+            execution.setVariable("subscriptionServiceType", serviceObject.get("serviceType"))
 
             //TODO
             //execution.setVariable("serviceInputParams", jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams"))
 
          */
         String serviceRole = "service-profile"
         String serviceType = execution.getVariable("serviceType")
+        String globalSubscriberId = execution.getVariable("globalSubscriberId")
+        String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
+
         Map<String, Object> serviceProfile = sliceParams.getServiceProfile()
         String ssInstanceId = execution.getVariable("serviceInstanceId")
         try {
             ss.setEnvironmentContext(snssai)
             ss.setServiceRole(serviceRole)
 
-            AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId")).serviceSubscription(execution.getVariable("subscriptionServiceType")).serviceInstance(ssInstanceId))
+            AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+                    .customer(globalSubscriberId)
+                    .serviceSubscription(subscriptionServiceType)
+                    .serviceInstance(ssInstanceId))
             client.create(uri, ss)
         } catch (BpmnError e) {
             throw e
         //rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
         rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
         rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", ssInstanceId)
-        rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
-        rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+        rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", subscriptionServiceType)
+        rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", globalSubscriberId)
         execution.setVariable("rollbackData", rollbackData)
         execution.setVariable("RollbackData", rollbackData)
         logger.debug("RollbackData:" + rollbackData)
         /**
          * todo: ServiceProfile params changed
          */
+        String globalSubscriberId = execution.getVariable("globalSubscriberId")
+        String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
         SliceTaskParamsAdapter sliceParams =
                 execution.getVariable("sliceTaskParams") as SliceTaskParamsAdapter
         Map<String, Object> serviceProfileMap = sliceParams.getServiceProfile()
         serviceProfile.setSurvivalTime("0")
         serviceProfile.setReliability("")
         try {
-            AAIResourceUri uri = AAIUriFactory.createResourceUri(
-                AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId"))
-                .serviceSubscription(execution.getVariable("subscriptionServiceType"))
-                .serviceInstance(serviceProfileInstanceId)
-                .serviceProfile(serviceProfileId))
+            AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+                    .customer(globalSubscriberId)
+                    .serviceSubscription(subscriptionServiceType)
+                    .serviceInstance(serviceProfileInstanceId)
+                    .serviceProfile(serviceProfileId))
             client.create(uri, serviceProfile)
             execution.setVariable("sliceTaskParams", sliceParams)
 
     public void createAllottedResource(DelegateExecution execution) {
 
         try {
-
+            String globalSubscriberId = execution.getVariable("globalSubscriberId")
+            String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
             ServiceDecomposition serviceDecomposition =
                     execution.getVariable("serviceProfileDecomposition") as ServiceDecomposition
+            String serviceInstanceId = execution.getVariable("serviceInstanceId")
 
             List<org.onap.so.bpmn.core.domain.AllottedResource> allottedResourceList = serviceDecomposition.getAllottedResources()
             for(org.onap.so.bpmn.core.domain.AllottedResource allottedResource : allottedResourceList) {
                 String allottedResourceId = UUID.randomUUID().toString()
 
-                AAIResourceUri allottedResourceUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId")).serviceSubscription(execution.getVariable("subscriptionServiceType")).serviceInstance(execution.getVariable("serviceInstanceId")).allottedResource(allottedResourceId))
+                AAIResourceUri allottedResourceUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+                        .customer(globalSubscriberId)
+                        .serviceSubscription(subscriptionServiceType)
+                        .serviceInstance(serviceInstanceId)
+                        .allottedResource(allottedResourceId))
 
                 execution.setVariable("allottedResourceUri", allottedResourceUri)
                 String arType = allottedResource.getAllottedResourceType()
 
       <bpmn:incoming>SequenceFlow_0khtova</bpmn:incoming>
       <bpmn:outgoing>SequenceFlow_1wafqwa</bpmn:outgoing>
       <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
-def dcsi= new CreateSliceService()
+def dcsi = new DoCreateSliceServiceInstance()
 dcsi.prepareDecomposeService(execution)</bpmn:script>
     </bpmn:scriptTask>
     <bpmn:callActivity id="CallActivity_0svmkxh" name="Call Decompose Service" calledElement="DecomposeService">
       </bpmndi:BPMNEdge>
     </bpmndi:BPMNPlane>
   </bpmndi:BPMNDiagram>
-</bpmn:definitions>
\ No newline at end of file
+</bpmn:definitions>
 
 
     private String nstName;
 
-    private Map<String, Object> serviceProfile;
+    private Map<String, Object> serviceProfile = new HashMap<>();
 
     private String suggestNsiId;
 
     private String suggestNsiName;
 
-    private TemplateInfo NSTInfo;
+    private TemplateInfo NSTInfo = new TemplateInfo();
 
-    private SliceTaskInfo<TnSliceProfile> tnBHSliceTaskInfo;
+    private SliceTaskInfo<TnSliceProfile> tnBHSliceTaskInfo = new SliceTaskInfo<>();
 
-    private SliceTaskInfo<TnSliceProfile> tnMHSliceTaskInfo;
+    private SliceTaskInfo<TnSliceProfile> tnMHSliceTaskInfo = new SliceTaskInfo<>();
 
-    private SliceTaskInfo<TnSliceProfile> tnFHSliceTaskInfo;
+    private SliceTaskInfo<TnSliceProfile> tnFHSliceTaskInfo = new SliceTaskInfo<>();
 
-    private SliceTaskInfo<CnSliceProfile> cnSliceTaskInfo;
+    private SliceTaskInfo<CnSliceProfile> cnSliceTaskInfo = new SliceTaskInfo<>();
 
-    private SliceTaskInfo<AnSliceProfile> anSliceTaskInfo;
+    private SliceTaskInfo<AnSliceProfile> anSliceTaskInfo = new SliceTaskInfo<>();
 
     @SuppressWarnings("unchecked")
     public void convertFromJson(String jsonString) throws IOException {
      */
     private <T> Map<String, Object> bean2Map(T t) {
         Map<String, Object> resMap = new HashMap<>();
+        if (t == null) {
+            return resMap;
+        }
+
         try {
             Field[] fields = t.getClass().getDeclaredFields();
             for (Field field : fields) {