You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/01/24 12:19:30 UTC
svn commit: r371894 - in /webservices/axis2/trunk/c:
modules/xml/soap/soap11_builder_helper.c modules/xml/soap/soap_envelope.c
modules/xml/soap/soap_fault.c modules/xml/soap/soap_fault_detail.c
test/xml/soap/test_soap.c
Author: nandika
Date: Tue Jan 24 03:19:17 2006
New Revision: 371894
URL: http://svn.apache.org/viewcvs?rev=371894&view=rev
Log: (empty)
Modified:
webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c
webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c
webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c
webservices/axis2/trunk/c/test/xml/soap/test_soap.c
Modified: webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c Tue Jan 24 03:19:17 2006
@@ -251,6 +251,7 @@
{
axis2_soap_fault_detail_t *fault_detail = NULL;
fault_detail = axis2_soap_fault_detail_create(env);
+ printf("\n\n fault detail create\n\n");
AXIS2_OM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIS2_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME);
AXIS2_SOAP_FAULT_SET_BASE_NODE(soap_fault, env, om_element_node);
AXIS2_SOAP_FAULT_SET_DETAIL(soap_fault, env, fault_detail);
Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c Tue Jan 24 03:19:17 2006
@@ -22,6 +22,10 @@
#include <axis2_soap.h>
#include <axis2_soap_builder.h>
#include <axis2_soap_fault_code.h>
+ #include <axis2_soap_fault_reason.h>
+ #include <axis2_soap_fault_detail.h>
+ #include <axis2_soap_fault_role.h>
+
/******************* impl struct *********************************************/
typedef struct axis2_soap_envelope_impl_t
@@ -533,7 +537,6 @@
OMConstants.DEFAULT_CHAR_SET_ENCODING : charSetEncoding,
xmlVersion == null ? OMConstants.DEFAULT_XML_VERSION : xmlVersion);
}*/
- /*
if(envelope_impl->soap_version == AXIS2_SOAP11)
{
axis2_soap_body_t *soap_body = NULL;
@@ -546,29 +549,83 @@
if(AXIS2_SOAP_BODY_HAS_FAULT(soap_body, env))
{
- axis2_soap_fault_code_t *fault_code = NULL;
- axis2_om_node_t *fault_code_om_node = NULL;
- axis2_om_element_t *fault_code_om_ele = NULL;
-
soap_fault = AXIS2_SOAP_BODY_GET_FAULT(soap_body, env);
if(soap_fault)
{
+ axis2_soap_fault_code_t *fault_code = NULL;
+ axis2_soap_fault_reason_t *fault_reason = NULL;
+ axis2_soap_fault_detail_t *fault_detail = NULL;
+ axis2_soap_fault_role_t *fault_role = NULL;
fault_code = AXIS2_SOAP_FAULT_GET_CODE(soap_fault, env);
if(fault_code)
{
+ axis2_om_node_t *fault_code_om_node = NULL;
+ axis2_om_element_t *fault_code_om_ele = NULL;
+ axis2_om_node_t *fault_value_om_node = NULL;
+ axis2_om_element_t *fault_value_om_ele = NULL;
+ axis2_char_t *text = NULL;
fault_code_om_node = AXIS2_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env);
fault_code_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_code_om_node, env);
AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_code_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME);
+ fault_value_om_node = AXIS2_OM_NODE_GET_FIRST_CHILD(fault_code_om_node, env);
+ AXIS2_OM_NODE_DETACH(fault_value_om_node, env);
+ fault_value_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_value_om_node, env);
+ text = AXIS2_OM_ELEMENT_GET_TEXT(fault_value_om_ele, env, fault_value_om_node);
+ AXIS2_OM_ELEMENT_SET_TEXT(fault_code_om_ele, env, text, fault_code_om_node);
-
-
+ AXIS2_OM_NODE_FREE_TREE(fault_value_om_node, env);
}
+ fault_reason = AXIS2_SOAP_FAULT_GET_REASON(soap_fault, env);
+ if(fault_reason)
+ {
+ axis2_om_node_t *fault_reason_om_node = NULL;
+ axis2_om_element_t *fault_reason_om_ele = NULL;
+
+ axis2_om_node_t *fault_text_om_node = NULL;
+ axis2_om_element_t *fault_text_om_ele = NULL;
+
+ axis2_char_t *text = NULL;
+ fault_reason_om_node = AXIS2_SOAP_FAULT_REASON_GET_BASE_NODE(fault_reason, env);
+ fault_reason_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_reason_om_node, env);
+ AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_reason_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME);
+
+
+ fault_text_om_node = AXIS2_OM_NODE_GET_FIRST_CHILD(fault_reason_om_node, env);
+ fault_text_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_text_om_node, env);
+ AXIS2_OM_NODE_DETACH(fault_text_om_node, env);
+
+ text = AXIS2_OM_ELEMENT_GET_TEXT(fault_text_om_ele, env, fault_text_om_node);
+ AXIS2_OM_ELEMENT_SET_TEXT( fault_reason_om_ele, env, text, fault_reason_om_node);
+
+ AXIS2_OM_NODE_FREE_TREE(fault_text_om_node, env);
+ }
+
+ fault_role = AXIS2_SOAP_FAULT_GET_ROLE(soap_fault, env);
+ if(fault_role)
+ {
+ axis2_om_node_t *fault_role_om_node = NULL;
+ axis2_om_element_t *fault_role_om_ele = NULL;
+
+ fault_role_om_node = AXIS2_SOAP_FAULT_ROLE_GET_BASE_NODE(fault_role, env);
+ fault_role_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_role_om_node, env);
+ AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_role_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME);
+ }
+
+ fault_detail = AXIS2_SOAP_FAULT_GET_DETAIL(soap_fault, env);
+ if(fault_detail)
+ {
+ axis2_om_node_t *fault_detail_om_node = NULL;
+ axis2_om_element_t *fault_detail_om_ele = NULL;
+
+ fault_detail_om_node = AXIS2_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env);
+ // fault_detail_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_detail_om_node, env);
+ // AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_detail_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME);
+ }
}
}
}
}
- */
return AXIS2_OM_NODE_SERIALIZE(envelope_impl->om_ele_node, env, om_output);
}
Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c Tue Jan 24 03:19:17 2006
@@ -555,7 +555,11 @@
AXIS2_FUNC_PARAM_CHECK(fault, env, NULL);
fault_impl = AXIS2_INTF_TO_IMPL(fault);
this_node = fault_impl->om_ele_node;
-
+ if(fault_impl->frole)
+ {
+ return fault_impl->frole;
+ }
+ /*
if(!(fault_impl->frole))
{
role_node = axis2_soap_utils_get_child_with_name(env,
@@ -566,6 +570,7 @@
AXIS2_SOAP_FAULT_ROLE_SET_BASE_NODE(role , env, role_node);
fault_impl->frole = role;
}
+ */
return fault_impl->frole;
}
@@ -616,6 +621,7 @@
AXIS2_FUNC_PARAM_CHECK(fault, env, NULL);
fault_impl = AXIS2_INTF_TO_IMPL(fault);
+ /*
this_node = fault_impl->om_ele_node;
if(!(fault_impl->fdetail))
@@ -628,6 +634,7 @@
AXIS2_SOAP_FAULT_DETAIL_SET_BASE_NODE(detail , env, detail_node);
fault_impl->fdetail = detail;
}
+ */
return fault_impl->fdetail;
}
Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c Tue Jan 24 03:19:17 2006
@@ -252,8 +252,9 @@
return AXIS2_FAILURE;
}
fault_detail_impl->om_ele_node = node;
- fault_detail_impl->om_ele = (axis2_om_element_t *)
- AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+ fault_detail_impl->om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+ printf("\n\n ___ %s ____\n\n", AXIS2_OM_ELEMENT_GET_LOCALNAME( fault_detail_impl->om_ele, env));
+
return AXIS2_SUCCESS;
}
Modified: webservices/axis2/trunk/c/test/xml/soap/test_soap.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/xml/soap/test_soap.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/soap/test_soap.c (original)
+++ webservices/axis2/trunk/c/test/xml/soap/test_soap.c Tue Jan 24 03:19:17 2006
@@ -239,6 +239,6 @@
env = NULL;
allocator = NULL;
printf("\n");
-
+ getchar();
return 0;
}