summaryrefslogtreecommitdiffstats
path: root/axiom/src/soap
diff options
context:
space:
mode:
authorGravatar shankar2011-10-06 05:44:18 +0000
committerGravatar shankar2011-10-06 05:44:18 +0000
commit62bcb27c130942a84160eac1893f3cdd1ab7b0ed (patch)
tree156a0333880eadc79fec760ca1fbe399436b77aa /axiom/src/soap
parent55d1494e751f0af363948fde72db6bd3bc5b55ea (diff)
downloadaxis2c-62bcb27c130942a84160eac1893f3cdd1ab7b0ed.tar.gz
axis2c-62bcb27c130942a84160eac1893f3cdd1ab7b0ed.tar.bz2
Some frameworks (e.g WSE) sends empty faultstring. Hence checking for empty and continue without failing.
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@1179506 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'axiom/src/soap')
-rw-r--r--axiom/src/soap/soap11_builder_helper.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/axiom/src/soap/soap11_builder_helper.c b/axiom/src/soap/soap11_builder_helper.c
index ab2e4d8..f6c4c65 100644
--- a/axiom/src/soap/soap11_builder_helper.c
+++ b/axiom/src/soap/soap11_builder_helper.c
@@ -29,6 +29,7 @@
#include "_axiom_soap_fault_role.h"
#include <axiom_stax_builder_internal.h>
#include <axiom_node_internal.h>
+#include <axiom_element_internal.h>
static axis2_status_t
axiom_soap11_builder_helper_process_text(
@@ -223,12 +224,15 @@ axiom_soap11_builder_helper_handle_event(
return AXIS2_FAILURE;
}
axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, fault_text_node);
-
- status = axiom_soap11_builder_helper_process_text(builder_helper, env);
- if(status == AXIS2_FAILURE)
- {
- return AXIS2_FAILURE;
- }
+
+ if (axiom_element_get_is_empty(om_ele, env) != AXIS2_TRUE)
+ {
+ status = axiom_soap11_builder_helper_process_text(builder_helper, env);
+ if(status == AXIS2_FAILURE)
+ {
+ return AXIS2_FAILURE;
+ }
+ }
axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, om_element_node);
axiom_node_set_complete(om_element_node, env, AXIS2_TRUE);