If storage manager is not created handle it

diff --git a/src/msgprocessors/ack_msg_processor.c b/src/msgprocessors/ack_msg_processor.c
index 84904f9..3e0f77f 100644
--- a/src/msgprocessors/ack_msg_processor.c
+++ b/src/msgprocessors/ack_msg_processor.c
@@ -195,6 +195,13 @@
     
     dbname = sandesha2_util_get_dbname(env, conf_ctx); 
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/msgprocessors/ack_req_msg_processor.c b/src/msgprocessors/ack_req_msg_processor.c
index cac0741..efaab45 100644
--- a/src/msgprocessors/ack_req_msg_processor.c
+++ b/src/msgprocessors/ack_req_msg_processor.c
@@ -182,6 +182,13 @@
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     acks_to_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, seq_id,
         SANDESHA2_SEQ_PROP_ACKS_TO_EPR);
diff --git a/src/msgprocessors/app_msg_processor.c b/src/msgprocessors/app_msg_processor.c
index bb12316..0b25175 100644
--- a/src/msgprocessors/app_msg_processor.c
+++ b/src/msgprocessors/app_msg_processor.c
@@ -409,6 +409,13 @@
     conf_ctx = axis2_msg_ctx_get_conf_ctx(app_msg_ctx, env);
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     fault_ctx = sandesha2_fault_mgr_check_for_last_msg_num_exceeded(env, rm_msg_ctx, seq_prop_mgr);
     if(fault_ctx)
     {
@@ -1111,6 +1118,13 @@
 
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     if(!seq_prop_mgr)
     {
@@ -2532,6 +2546,13 @@
 
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return NULL;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
@@ -3503,6 +3524,13 @@
     retrans_interval = args->retrans_interval;
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return NULL;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/msgprocessors/close_seq_msg_processor.c b/src/msgprocessors/close_seq_msg_processor.c
index 2956175..547e745 100644
--- a/src/msgprocessors/close_seq_msg_processor.c
+++ b/src/msgprocessors/close_seq_msg_processor.c
@@ -387,6 +387,13 @@
     
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/msgprocessors/close_seq_res_msg_processor.c b/src/msgprocessors/close_seq_res_msg_processor.c
index f9e5f91..ccf3173 100644
--- a/src/msgprocessors/close_seq_res_msg_processor.c
+++ b/src/msgprocessors/close_seq_res_msg_processor.c
@@ -157,6 +157,13 @@
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr =sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/msgprocessors/create_seq_res_msg_processor.c b/src/msgprocessors/create_seq_res_msg_processor.c
index 86be285..8b1a81c 100644
--- a/src/msgprocessors/create_seq_res_msg_processor.c
+++ b/src/msgprocessors/create_seq_res_msg_processor.c
@@ -172,6 +172,13 @@
     
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
                         
     csr_part = sandesha2_msg_ctx_get_create_seq_res(rm_msg_ctx, env);
     if(!csr_part)
diff --git a/src/msgprocessors/make_connection_msg_processor.c b/src/msgprocessors/make_connection_msg_processor.c
index 66fe534..aad3204 100644
--- a/src/msgprocessors/make_connection_msg_processor.c
+++ b/src/msgprocessors/make_connection_msg_processor.c
@@ -287,6 +287,13 @@
     }
 
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     if(storage_mgr)
     {
         seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
diff --git a/src/msgprocessors/terminate_seq_msg_processor.c b/src/msgprocessors/terminate_seq_msg_processor.c
index f104efb..bb2cd36 100644
--- a/src/msgprocessors/terminate_seq_msg_processor.c
+++ b/src/msgprocessors/terminate_seq_msg_processor.c
@@ -221,6 +221,13 @@
     conf_ctx = axis2_msg_ctx_get_conf_ctx(terminate_msg_ctx, env);
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
@@ -757,6 +764,13 @@
     
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/msgprocessors/terminate_seq_res_msg_processor.c b/src/msgprocessors/terminate_seq_res_msg_processor.c
index 144b146..04f6a0a 100644
--- a/src/msgprocessors/terminate_seq_res_msg_processor.c
+++ b/src/msgprocessors/terminate_seq_res_msg_processor.c
@@ -162,6 +162,13 @@
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return AXIS2_FAILURE;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     create_seq_mgr = sandesha2_permanent_create_seq_mgr_create(env, dbname);
     sender_mgr =sandesha2_permanent_sender_mgr_create(env, dbname);
diff --git a/src/polling/polling_mgr.c b/src/polling/polling_mgr.c
index 9b6c8c8..5e1f893 100644
--- a/src/polling/polling_mgr.c
+++ b/src/polling/polling_mgr.c
@@ -256,6 +256,13 @@
     dbname = sandesha2_util_get_dbname(env, conf_ctx);
     
     storage_mgr = sandesha2_utils_get_storage_mgr(env, dbname);
+    if(!storage_mgr)
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[sandesha2] Could not create storage manager.");
+        AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER, 
+                AXIS2_FAILURE);
+        return NULL;
+    }
     seq_prop_mgr = sandesha2_permanent_seq_property_mgr_create(env, dbname);
     sender_mgr = sandesha2_permanent_sender_mgr_create(env, dbname);
     next_msg_mgr = sandesha2_permanent_next_msg_mgr_create(env, dbname);
diff --git a/src/util/error.c b/src/util/error.c
index c751aa1..9d1d936 100644
--- a/src/util/error.c
+++ b/src/util/error.c
@@ -176,6 +176,8 @@
         "Cannot find a operation for generated message";
     axutil_error_messages[SANDESHA2_ERROR_INVALID_PERSISTENCE_PROPERTY_STRING]=
         "Invalid persistence property string";
+    axutil_error_messages[SANDESHA2_ERROR_COULD_NOT_CREATE_STORAGE_MANAGER]=
+        "Could not create storage manager";
 
     return AXIS2_SUCCESS;
 }