axis-c-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sam...@apache.org
Subject svn commit: r1163225 - /axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c
Date Tue, 30 Aug 2011 14:18:20 GMT
Author: samisa
Date: Tue Aug 30 14:18:20 2011
New Revision: 1163225

URL: http://svn.apache.org/viewvc?rev=1163225&view=rev
Log:
Applied the patch provided in AXIS2C-1544 that fixes problems with shared lib

Modified:
    axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c

Modified: axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c
URL: http://svn.apache.org/viewvc/axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c?rev=1163225&r1=1163224&r2=1163225&view=diff
==============================================================================
--- axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c (original)
+++ axis/axis2/c/core/trunk/src/core/deployment/desc_builder.c Tue Aug 30 14:18:20 2011
@@ -188,12 +188,12 @@ axis2_desc_builder_build_om(
      */
     document = axiom_stax_builder_get_document(builder, env);
 
-	/**
+    /**
      get root element , building starts hear
      */
 
-	desc_builder->root = axiom_document_get_root_element(document, env);
-	/**
+    desc_builder->root = axiom_document_get_root_element(document, env);
+    /**
      * In description building we don't want defferred building. So build
      * the whole tree at once
      */
@@ -973,8 +973,27 @@ axis2_desc_builder_load_msg_recv(
         msg_recv_dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env,
             class_name);
         repos_name = axis2_dep_engine_get_repos_path(desc_builder->engine, env);
-        temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR);
-        temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER);
+        if (!repos_name) 
+        {
+            /* If we rely solely on an axis2.xml repo then the engine still expects
+             * to find a message receiver shared lib in a "lib" dir off some unspecified
repo folder;
+             * So we must tell it to instead look at what we specified for a libDir param
in the axis2.xml */
+            axutil_param_t* lib_dir_param = axis2_conf_get_param(conf, env, AXIS2_LIB_DIR);
+            if (lib_dir_param) 
+            {
+                temp_path2 = (axis2_char_t *) axutil_strdup(env, (axis2_char_t *)axutil_param_get_value(lib_dir_param,
env));
+            }
+            else 
+            {
+                AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to resolve lib dir for
deployment engine");
+                return NULL;
+            }
+        }
+        else 
+        {
+            temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR);
+            temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER);
+        }
         temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR);
         dll_name = axutil_stracat(env, temp_path3, msg_recv_dll_name);
         AXIS2_FREE(env->allocator, temp_path);



Mime
View raw message