private String decryptAndProcessServerResponse(String responseHexData) {
		
		try {
		String hexDataBody = parseHeadAndReturnDataBody(responseHexData);
		int encryptionScheme = getEncyptionSchemeFromResponse(responseHexData);
		String decryptedData = null;
		if(encryptionScheme == 4 && hexDataBody != null ){
				decryptedData = decryptDataBodyUsingThreeDESAlgorithm(hexDataBody);
			
		}else if(hexDataBody != null){
			decryptedData = decryptDataBodyUsingDESAlgorithm(hexDataBody);
		}
		logger.info("Decrypted Response data:"+decryptedData);
		
		 String responseMessage =null;
		if(decryptedData !=null && decryptedData.length() >= 8){
			
			responseMessage =decryptedData.substring(4,8);
			if(responseMessage.equalsIgnoreCase("8001")){
				processCreateSessionResponse(responseHexData);
				   NSTVConstants.SESSION_KEY=decryptedData.substring(24,40);
			}
		}
		
		
		return responseMessage;
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
		
	}