diff options
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); |