You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by da...@apache.org on 2008/06/30 18:09:24 UTC
svn commit: r672806 -
/webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c
Author: damitha
Date: Mon Jun 30 09:09:24 2008
New Revision: 672806
URL: http://svn.apache.org/viewvc?rev=672806&view=rev
Log:
Fixed 1212
Modified:
webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c
Modified: webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c?rev=672806&r1=672805&r2=672806&view=diff
==============================================================================
--- webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c (original)
+++ webservices/axis2/trunk/c/src/core/receivers/raw_xml_in_out_msg_recv.c Mon Jun 30 09:09:24 2008
@@ -39,7 +39,6 @@
axis2_msg_recv_t *msg_recv = NULL;
axis2_status_t status = AXIS2_FAILURE;
- AXIS2_ENV_CHECK(env, NULL);
msg_recv = axis2_msg_recv_create(env);
if (!msg_recv)
{
@@ -47,15 +46,15 @@
return NULL;
}
status = axis2_msg_recv_set_scope(msg_recv, env, AXIS2_APPLICATION_SCOPE);
- if (AXIS2_TRUE != status)
+ if (!status)
{
axis2_msg_recv_free(msg_recv, env);
return NULL;
}
- axis2_msg_recv_set_invoke_business_logic(
- msg_recv, env,
+ axis2_msg_recv_set_invoke_business_logic(msg_recv, env,
axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync);
+
return msg_recv;
}
@@ -90,9 +89,9 @@
axiom_soap_fault_detail_t *fault_detail;
axis2_bool_t is_fault = AXIS2_FALSE;
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, new_msg_ctx, AXIS2_FAILURE);
+
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[axis2]Entry:axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync");
@@ -113,11 +112,10 @@
svc_name = "unknown";
}
- AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
- "Impl object for service '%s' not set in message receiver. %d :: %s",
- svc_name,
- env->error->error_number,
- AXIS2_ERROR_GET_MESSAGE(env->error));
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+ "Impl object for service '%s' not set in message receiver. %d :: %s", svc_name,
+ env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error));
+
status = AXIS2_FAILURE;
}
else
@@ -168,57 +166,47 @@
{
axis2_char_t *function_name = NULL;
- function_name =
- (axis2_char_t *) axutil_array_list_get(function_arr,
- env, i);
- if (0 == axutil_strcmp(function_name, local_name))
+ function_name = (axis2_char_t *) axutil_array_list_get(function_arr, env, i);
+ if (!axutil_strcmp(function_name, local_name))
{
matches = AXIS2_TRUE;
}
}
- if (AXIS2_TRUE == matches)
+ if (matches)
{
om_node = axiom_node_get_first_child(op_node, env);
om_element = axiom_node_get_data_element(om_node, env);
}
else
{
- AXIS2_ERROR_SET(env->error,
- AXIS2_ERROR_OM_ELEMENT_MISMATCH,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OM_ELEMENT_MISMATCH, AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
}
else
{
- AXIS2_ERROR_SET(env->error,
- AXIS2_ERROR_OM_ELEMENT_INVALID_STATE,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OM_ELEMENT_INVALID_STATE, AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
}
else
{
- AXIS2_ERROR_SET(env->error,
- AXIS2_ERROR_RPC_NEED_MATCHING_CHILD,
- AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RPC_NEED_MATCHING_CHILD, AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
}
else
{
- AXIS2_ERROR_SET(env->error,
- AXIS2_ERROR_UNKNOWN_STYLE, AXIS2_FAILURE);
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_UNKNOWN_STYLE, AXIS2_FAILURE);
status = AXIS2_FAILURE;
}
if (status == AXIS2_SUCCESS)
{
skel_invoked = AXIS2_TRUE;
- result_node =
- AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node, new_msg_ctx);
+ result_node = AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node, new_msg_ctx);
}
if (result_node)
@@ -237,8 +225,7 @@
else
{
body_content_element =
- axiom_element_create(env, NULL, res_name, ns,
- &body_content_node);
+ axiom_element_create(env, NULL, res_name, ns, &body_content_node);
axiom_node_add_child(body_content_node, env, result_node);
}
}
@@ -380,28 +367,29 @@
}
else
{
- fault_reason_str = "Something went wrong";
+ fault_reason_str = "An error has occured, but could not determine exact details";
}
- soap_fault = axiom_soap_fault_create_default_fault(env, out_body,
- fault_value_str,
- fault_reason_str,
- soap_version);
+ soap_fault = axiom_soap_fault_create_default_fault(env, out_body, fault_value_str,
+ fault_reason_str, soap_version);
+
if (fault_node)
{
- fault_detail =
- axiom_soap_fault_detail_create_with_parent(env, soap_fault);
- AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault_detail:%s", fault_detail);
- axiom_soap_fault_detail_add_detail_entry(fault_detail, env,
- fault_node);
+ axiom_node_t *fault_detail_node = NULL;
+
+ fault_detail = axiom_soap_fault_detail_create_with_parent(env, soap_fault);
+ fault_detail_node = axiom_soap_fault_detail_get_base_node(fault_detail, env);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault_detail:%s", axiom_node_to_string(
+ fault_detail_node, env));
+
+ axiom_soap_fault_detail_add_detail_entry(fault_detail, env, fault_node);
}
}
if (body_content_node)
{
axiom_node_add_child(out_node, env, body_content_node);
- status =
- axis2_msg_ctx_set_soap_envelope(new_msg_ctx, env, default_envelope);
+ status = axis2_msg_ctx_set_soap_envelope(new_msg_ctx, env, default_envelope);
}
else if (soap_fault)
{
@@ -414,8 +402,10 @@
axiom_soap_envelope_free(default_envelope, env);
default_envelope = NULL;
}
+
AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI,
"[axis2]Exit:axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync");
+
return status;
}