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 07:05:13 UTC
svn commit: r371831 - in /webservices/axis2/trunk/c:
modules/xml/om/om_node.c modules/xml/om/om_stax_builder.c
modules/xml/soap/soap_builder.c modules/xml/soap/soap_envelope.c
test/xml/soap/test_soap.c
Author: nandika
Date: Mon Jan 23 22:05:02 2006
New Revision: 371831
URL: http://svn.apache.org/viewcvs?rev=371831&view=rev
Log: (empty)
Modified:
webservices/axis2/trunk/c/modules/xml/om/om_node.c
webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c
webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c
webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
webservices/axis2/trunk/c/test/xml/soap/test_soap.c
Modified: webservices/axis2/trunk/c/modules/xml/om/om_node.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_node.c?rev=371831&r1=371830&r2=371831&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_node.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_node.c Mon Jan 23 22:05:02 2006
@@ -592,13 +592,16 @@
axis2_env_t **env)
{
axis2_om_node_impl_t *om_node_impl = NULL;
+ int token = 0;
AXIS2_FUNC_PARAM_CHECK(om_node, env, NULL);
om_node_impl = AXIS2_INTF_TO_IMPL(om_node);
/**********************************************************/
while(!(om_node_impl->first_child) && !(om_node_impl->done)
&& om_node_impl->builder)
{
- AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(om_node_impl->builder, env);
+ token = AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(om_node_impl->builder, env);
+ if(token == -1)
+ break;
}
/**********************************************************/
return om_node_impl->first_child;
@@ -626,13 +629,16 @@
axis2_env_t **env)
{
axis2_om_node_impl_t *om_node_impl = NULL;
+ int token = 0;
AXIS2_FUNC_PARAM_CHECK(om_node, env, NULL);
om_node_impl = AXIS2_INTF_TO_IMPL(om_node);
/*****************************************************/
while(!(om_node_impl->next_sibling) && om_node_impl->parent &&
om_node_impl->builder && !(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node_impl->parent, env)))
{
- AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(om_node_impl->builder, env);
+ token = AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(om_node_impl->builder, env);
+ if(token == -1)
+ break;
}
/*******************************************************/
return om_node_impl->next_sibling;
Modified: webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c?rev=371831&r1=371830&r2=371831&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c Mon Jan 23 22:05:02 2006
@@ -893,13 +893,13 @@
if (builder_impl->done)
{
AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, AXIS2_FAILURE);
- return -1;
+ return -1;
}
token = AXIS2_XML_READER_NEXT (builder_impl->parser, env);
if(token == -1)
{
- /* builder_impl->done = AXIS2_TRUE; */
+ builder_impl->done = AXIS2_TRUE;
return -1;
}
Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c?rev=371831&r1=371830&r2=371831&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c Mon Jan 23 22:05:02 2006
@@ -60,7 +60,7 @@
int last_node_status;
-
+ axis2_bool_t done;
}axis2_soap_builder_impl_t;
typedef enum axis2_builder_last_node_states
@@ -70,6 +70,9 @@
AXIS2_BUILDER_LAST_NODE_DONE_FALSE
}axis2_builder_last_node_states;
+#define AXIS2_MAX_EVENT 100
+
+
/***************** Macro ******************************************************/
#define AXIS2_INTF_TO_IMPL(builder) ((axis2_soap_builder_impl_t*)builder)
@@ -170,7 +173,7 @@
return NULL;
}
-
+ builder_impl->done = AXIS2_FALSE;
builder_impl->body_present = AXIS2_FALSE;
builder_impl->builder_helper = NULL;
builder_impl->element_level= 0;
@@ -289,11 +292,16 @@
{
axis2_soap_builder_impl_t *builder_impl = NULL;
axis2_om_node_t *lastnode = NULL;
- int current_event = -1;
+ int current_event = AXIS2_MAX_EVENT;
axis2_om_node_t *current_node = NULL;
int status = AXIS2_SUCCESS;
AXIS2_FUNC_PARAM_CHECK(builder, env, AXIS2_FAILURE);
builder_impl = AXIS2_INTF_TO_IMPL(builder);
+ if(builder_impl->done)
+ {
+ return AXIS2_FAILURE;
+ }
+
lastnode = AXIS2_OM_STAX_BUILDER_GET_LAST_NODE(builder_impl->om_builder, env);
if(!lastnode)
@@ -314,6 +322,11 @@
/*
current_event = AXIS2_OM_STAX_BUILDER_GET_CURRENT_EVENT(builder_impl->om_builder, env);
*/
+ if(current_event == -1)
+ {
+ builder_impl->done = AXIS2_TRUE;
+ return AXIS2_FAILURE;
+ }
if(current_event == AXIS2_XML_READER_EMPTY_ELEMENT ||
current_event == AXIS2_XML_READER_START_ELEMENT)
{
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=371831&r1=371830&r2=371831&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c Mon Jan 23 22:05:02 2006
@@ -536,32 +536,33 @@
/*
if(envelope_impl->soap_version == AXIS2_SOAP11)
{
- axis2_om_node_t *fault_node = NULL;
- axis2_om_element_t *fault_ele = NULL;
- axis2_soap_fault_t *soap_fault = NULL;
- axis2_soap_body_t *soap_body = NULL;
- axis2_soap_fault_code_t *fault_code = NULL;
- axis2_om_node_t *fault_node = NULL;
- axis2_om_element_t *fault_ele = NULL;
-
- axis2_om_node_t *om_node1 = NULL;
- axis2_om_element_t *om_ele1 = NULL;
- soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(envelope, env);
+ axis2_soap_body_t *soap_body = NULL;
+ soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(envelope, env);
if(soap_body)
{
+ axis2_soap_fault_t *soap_fault = NULL;
+ axis2_om_node_t *soap_fault_om_node = NULL;
+ axis2_om_element_t *soap_fault_om_ele = NULL;
+
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);
- fault_code = AXIS2_SOAP_FAULT_GET_CODE(soap_fault, env);
- if(fault_code)
+ if(soap_fault)
{
- om_node = AXIS2_SOAP_FAULT_CODE_GET_BASE_NODE(fault_code, env);
- om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(om_node, env);
- AXIS2_OM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIS2_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME);
-
-
-
+ fault_code = AXIS2_SOAP_FAULT_GET_CODE(soap_fault, env);
+ if(fault_code)
+ {
+ 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);
+
+
+ }
}
}
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=371831&r1=371830&r2=371831&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/soap/test_soap.c (original)
+++ webservices/axis2/trunk/c/test/xml/soap/test_soap.c Mon Jan 23 22:05:02 2006
@@ -110,7 +110,7 @@
printnode(om_node, env);
}
}
- AXIS2_OM_CHILDREN_QNAME_ITERATOR_FREE(children_iter, env);
+ // AXIS2_OM_CHILDREN_QNAME_ITERATOR_FREE(children_iter, env);
soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(soap_envelope, env);
if (soap_body)
@@ -235,7 +235,7 @@
printf("\nbuild soap\n");
build_soap(&env, filename,uri);
axis2_env_free(env);
- free(allocator);
+
env = NULL;
allocator = NULL;
printf("\n");