summaryrefslogtreecommitdiffstats
path: root/src/core/context
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/context')
-rw-r--r--src/core/context/msg_ctx.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/context/msg_ctx.c b/src/core/context/msg_ctx.c
index 02bfdf3..4bc5ff7 100644
--- a/src/core/context/msg_ctx.c
+++ b/src/core/context/msg_ctx.c
@@ -552,6 +552,11 @@ axis2_msg_ctx_free(
AXIS2_FREE(env->allocator, msg_ctx->options);
}
+ if(msg_ctx->transport_url)
+ {
+ AXIS2_FREE(env->allocator, msg_ctx->transport_url);
+ }
+
AXIS2_FREE(env->allocator, msg_ctx);
return;
@@ -1910,7 +1915,7 @@ axis2_msg_ctx_set_options(
axutil_property_t *rest_val = NULL;
axis2_char_t *value;
axutil_string_t *soap_action = NULL;
- ;
+ axutil_property_t *transport_url_prop = NULL;
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, options, AXIS2_FAILURE);
@@ -1938,6 +1943,15 @@ axis2_msg_ctx_set_options(
}
}
+ transport_url_prop = (axutil_property_t*)axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_TRANSPORT_URL);
+ if(transport_url_prop)
+ {
+ if(axutil_property_get_value(transport_url_prop, env))
+ {
+ msg_ctx->transport_url = axutil_strdup(env, (axis2_char_t*)axutil_property_get_value(transport_url_prop, env));
+ }
+ }
+
if(msg_ctx->soap_action)
{
axutil_string_free(msg_ctx->soap_action, env);