import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.VNF_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REST_PROTOCOL;
 
 import java.util.Properties;
 import org.apache.commons.lang3.StringUtils;
 
     String inputRequestAction = ctx.getAttribute(INPUT_REQUEST_ACTION);
     String inputRequestActionType = ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE);
+    String vnfType = ctx.getAttribute(VNF_TYPE);
 
+    if (StringUtils.isBlank(vnfType)) {
+        throw new Exception("Don't know vnf type to send REST request for  " + INPUT_REQUEST_ACTION + " - " +vnfType);
+    }
     if (StringUtils.isBlank(inputRequestActionType)) {
       throw new Exception("Don't know REST operation for Action " + inputRequestActionType);
     }
     transaction.setExecutionRPC(inputRequestActionType);
     transaction.setAction(INPUT_REQUEST_ACTION);
 
-    //This code need to get changed to get the UserID and pass from a common place.
-    transaction.setuId(prop.getProperty(inputRequestAction.concat(".default-rest-user")));
-    transaction.setPswd(prop.getProperty(inputRequestAction.concat(".default-rest-pass")));
-
+    String userKey = vnfType + "." + REST_PROTOCOL + "." + inputRequestAction + ".user";
+    String passwordKey = vnfType + "." +  REST_PROTOCOL + "." + inputRequestAction + ".password";
+    transaction.setuId(prop.getProperty(userKey));
+    transaction.setPswd(prop.getProperty(passwordKey));
+    if (StringUtils.isBlank(transaction.getuId()) || StringUtils.isBlank(transaction.getPswd())) {
+        throw new Exception ("User Id or Password is not set !!!");
+    }
     return transaction;
   }
 
-}
\ No newline at end of file
+}
 
 import static org.mockito.Mockito.when;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REST_PROTOCOL;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.VNF_TYPE;
 
 import java.util.Properties;
 import org.junit.Assert;
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("");
 
     expectedException.expect(Exception.class);
-    expectedException.expectMessage("Don't know REST operation for Action");
+    expectedException.expectMessage("Don't know vnf type to send REST request for  request-action - null");
     transactionHandler = new TransactionHandler();
     transactionHandler.buildTransaction(ctx, prop, RESOURCE_URI);
   }
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("foo");
 
     expectedException.expect(Exception.class);
-    expectedException.expectMessage("Don't know request-action request-action");
+    expectedException.expectMessage("Don't know vnf type to send REST request for  request-action - null");
     transactionHandler.buildTransaction(ctx, prop, "some uri");
   }
 
 
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("input-ra-type");
     when(ctx.getAttribute(INPUT_REQUEST_ACTION)).thenReturn("input-ra");
-
-    when(prop.getProperty(ctx.getAttribute(INPUT_REQUEST_ACTION).concat(".default-rest-user")))
+    when(ctx.getAttribute(VNF_TYPE)).thenReturn("vnf");
+    
+    String userKey = ctx.getAttribute(VNF_TYPE) + "." + REST_PROTOCOL + "." + ctx.getAttribute(INPUT_REQUEST_ACTION) 
+                     + ".user";
+    String passwordKey = ctx.getAttribute(VNF_TYPE) + "." + REST_PROTOCOL + "." + ctx.getAttribute(INPUT_REQUEST_ACTION) 
+                     + ".password";
+
+    when(prop.getProperty(userKey))
         .thenReturn("rest-user");
-    when(prop.getProperty(ctx.getAttribute(INPUT_REQUEST_ACTION).concat(".default-rest-pass")))
+    when(prop.getProperty(passwordKey))
         .thenReturn("rest-pass");
 
     Transaction transaction = transactionHandler.buildTransaction(ctx, prop, "some uri");
 
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNFC_INSTANCE;
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNFC_TYPE;
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNF_TYPE;
+import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.URL;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
                 if (content.has(PORT_NUMBER)) {
                     setAttribute(context, content::getString, PORT_NUMBER);
                 }
+                if (content.has(URL)) {
+                    setAttribute(context, content::getString, URL);
+                }
                 processArtifactList(content, dbservice, context);
                 processConfigTypeActions(content, dbservice, context);
                 dbservice.processDeviceAuthentication(context,