diff options
author | shankar | 2011-10-06 05:44:18 +0000 |
---|---|---|
committer | shankar | 2011-10-06 05:44:18 +0000 |
commit | 62bcb27c130942a84160eac1893f3cdd1ab7b0ed (patch) | |
tree | 156a0333880eadc79fec760ca1fbe399436b77aa /axiom/src/soap | |
parent | 55d1494e751f0af363948fde72db6bd3bc5b55ea (diff) | |
download | axis2c-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.c | 16 |
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); |