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/18 08:48:41 UTC

svn commit: r370075 - in /webservices/axis2/trunk/c: include/ modules/xml/soap/ test/xml/om/ test/xml/soap/

Author: nandika
Date: Tue Jan 17 23:46:18 2006
New Revision: 370075

URL: http://svn.apache.org/viewcvs?rev=370075&view=rev
Log: (empty)

Modified:
    webservices/axis2/trunk/c/include/axis2_soap11_builder_helper.h
    webservices/axis2/trunk/c/include/axis2_soap12_builder_helper.h
    webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c
    webservices/axis2/trunk/c/modules/xml/soap/soap12_builder_helper.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/modules/xml/soap/soap_fault_code.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_utils.c
    webservices/axis2/trunk/c/test/xml/om/test_om.c
    webservices/axis2/trunk/c/test/xml/soap/test_soap.c

Modified: webservices/axis2/trunk/c/include/axis2_soap11_builder_helper.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap11_builder_helper.h?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap11_builder_helper.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap11_builder_helper.h Tue Jan 17 23:46:18 2006
@@ -49,7 +49,7 @@
                     (axis2_soap11_builder_helper_t *builder_helper,
                      axis2_env_t **env);
         
-        axis2_om_node_t* (AXIS2_CALL *handle_event)
+        axis2_status_t (AXIS2_CALL *handle_event)
                     (axis2_soap11_builder_helper_t *builder_helper,
                      axis2_env_t **env,
                      axis2_om_node_t *om_element_node,
@@ -90,4 +90,3 @@
 #endif
 
 #endif /* AXIS2_SOAP11_BUILDER_HELPER_H */
-

Modified: webservices/axis2/trunk/c/include/axis2_soap12_builder_helper.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_soap12_builder_helper.h?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_soap12_builder_helper.h (original)
+++ webservices/axis2/trunk/c/include/axis2_soap12_builder_helper.h Tue Jan 17 23:46:18 2006
@@ -48,7 +48,7 @@
                             (axis2_soap12_builder_helper_t *builder_helper,
                              axis2_env_t **env);
         
-        axis2_om_node_t* (AXIS2_CALL *handle_event)
+        axis2_status_t (AXIS2_CALL *handle_event)
                     (axis2_soap12_builder_helper_t *builder_helper,
                      axis2_env_t **env,
                      axis2_om_node_t *om_element_node,
@@ -89,4 +89,3 @@
 
  
 #endif /*AXIS2_SOAP11_BUILDER_HELPER_H*/
- 

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=370075&r1=370074&r2=370075&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 17 23:46:18 2006
@@ -57,7 +57,7 @@
 axis2_soap11_builder_helper_free(axis2_soap11_builder_helper_t *builder_helper,
                                  axis2_env_t **env);
 
-axis2_om_node_t* AXIS2_CALL 
+axis2_status_t AXIS2_CALL 
 axis2_soap11_builder_helper_handle_event (axis2_soap11_builder_helper_t *builder_helper,
                              axis2_env_t **env,
                              axis2_om_node_t *om_element_node,
@@ -132,7 +132,7 @@
     return AXIS2_SUCCESS;
 }                                 
 
-axis2_om_node_t* AXIS2_CALL 
+axis2_status_t AXIS2_CALL 
 axis2_soap11_builder_helper_handle_event (axis2_soap11_builder_helper_t *builder_helper,
                              axis2_env_t **env,
                              axis2_om_node_t *om_element_node,
@@ -145,8 +145,8 @@
     axis2_soap_body_t *soap_body = NULL;
     axis2_soap_fault_t *soap_fault = NULL;
     
-    AXIS2_FUNC_PARAM_CHECK(builder_helper, env, NULL);
-    AXIS2_PARAM_CHECK((*env)->error, element_level, NULL);
+    AXIS2_FUNC_PARAM_CHECK(builder_helper, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, element_level, AXIS2_FAILURE);
     builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
     
     om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(om_element_node, env);
@@ -310,7 +310,7 @@
     
     
     */
-    return NULL;
+    return AXIS2_SUCCESS;
 }                                                                                                                    
                                          
 static axis2_status_t  
@@ -333,4 +333,4 @@
         AXIS2_OM_STAX_BUILDER_NEXT(builder_helper_impl->om_builder, env);
     }
     return AXIS2_SUCCESS;                
-}                                    
\ No newline at end of file
+}

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap12_builder_helper.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap12_builder_helper.c?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap12_builder_helper.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap12_builder_helper.c Tue Jan 17 23:46:18 2006
@@ -75,7 +75,7 @@
 axis2_soap12_builder_helper_free(axis2_soap12_builder_helper_t *builder_helper,
                                  axis2_env_t **env);
 
-axis2_om_node_t* AXIS2_CALL 
+axis2_status_t AXIS2_CALL 
 axis2_soap12_builder_helper_handle_event
                             (axis2_soap12_builder_helper_t *builder_helper,
                              axis2_env_t **env,
@@ -100,6 +100,7 @@
         return NULL;
     }
     printf("builder helper 12");
+    
     builder_helper_impl->code_present = AXIS2_FALSE;
     builder_helper_impl->detail_present = AXIS2_FALSE;
     builder_helper_impl->reason_present = AXIS2_FALSE;
@@ -109,10 +110,11 @@
     builder_helper_impl->code_processing = AXIS2_FALSE;
     builder_helper_impl->sub_code_processing = AXIS2_FALSE;
     builder_helper_impl->detail_element_names = NULL;
-    builder_helper_impl->builder_helper.ops = NULL; 
     builder_helper_impl->node_present = AXIS2_FALSE;
     builder_helper_impl->soap_builder = soap_builder;
     builder_helper_impl->sub_sub_code_present = AXIS2_FALSE; 
+    builder_helper_impl->value_present = AXIS2_FALSE;
+    builder_helper_impl->subcode_value_present = AXIS2_FALSE;
     builder_helper_impl->builder_helper.ops = NULL; 
     builder_helper_impl->builder_helper.ops = (axis2_soap12_builder_helper_ops_t*) AXIS2_MALLOC(
                                                 (*env)->allocator, sizeof(axis2_soap12_builder_helper_ops_t));
@@ -155,7 +157,7 @@
     return AXIS2_SUCCESS;
 }                                 
 
-axis2_om_node_t* AXIS2_CALL 
+axis2_status_t AXIS2_CALL 
 axis2_soap12_builder_helper_handle_event (axis2_soap12_builder_helper_t *builder_helper,
                              axis2_env_t **env,
                              axis2_om_node_t *om_ele_node,
@@ -168,12 +170,13 @@
     axis2_soap_fault_t *soap_fault = NULL;
     axis2_soap_envelope_t *soap_envelope = NULL;    
     
-    
-    AXIS2_FUNC_PARAM_CHECK(builder_helper, env, NULL);
+    AXIS2_FUNC_PARAM_CHECK(builder_helper, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, om_ele_node, AXIS2_FAILURE);
+
     builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
     om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(om_ele_node, env);
     ele_localname = AXIS2_OM_ELEMENT_GET_LOCALNAME(om_ele, env);
-    
+    printf(" \n element localname %s \n",ele_localname);
     soap_envelope = AXIS2_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper_impl->soap_builder, env);
     soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(soap_envelope, env);
     soap_fault = AXIS2_SOAP_BODY_GET_FAULT(soap_body, env);   
@@ -186,7 +189,7 @@
             if(builder_helper_impl->code_present)
             {
                 AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
-                return NULL;
+                return AXIS2_FAILURE;
             }else
             {
                 axis2_soap_fault_code_t* soap_fault_code = NULL;
@@ -196,7 +199,7 @@
                 AXIS2_SOAP_FAULT_SET_CODE(soap_fault, env, soap_fault_code);
                 builder_helper_impl->code_present = AXIS2_TRUE;
                 builder_helper_impl->code_processing = AXIS2_TRUE;
-                 
+                printf("\nsoap fault code \n");    
             }
         }
         else if(AXIS2_STRCMP(AXIS2_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME, ele_localname) == 0)
@@ -209,7 +212,7 @@
                     {
                         AXIS2_ERROR_SET((*env)->error, 
                             AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
-                        return NULL;
+                        return AXIS2_FAILURE;
                     }
                     else
                     {
@@ -220,13 +223,14 @@
                         AXIS2_SOAP_FAULT_SET_REASON(soap_fault, env, fault_reason);
                         builder_helper_impl->reason_present = AXIS2_TRUE;
                         builder_helper_impl->reason_processing = AXIS2_TRUE;
+                        printf(" fault reason ");
                     }                
                 }
                 else
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;                        
+                    return AXIS2_FAILURE;                        
                 }
             }
             else 
@@ -235,13 +239,13 @@
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, AXIS2_FAILURE);
-                    return NULL;                            
+                    return AXIS2_FAILURE;                            
                 }
                 else
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, AXIS2_FAILURE);
-                    return NULL;                
+                    return AXIS2_FAILURE;                
                 }
             }
         }
@@ -257,7 +261,7 @@
                     {
                         AXIS2_ERROR_SET((*env)->error, 
                             AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
-                        return NULL;
+                        return AXIS2_FAILURE;
                     }
                     else
                     {
@@ -273,14 +277,14 @@
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FALSE);
-                    return NULL;                
+                    return AXIS2_FAILURE;                
                 }
             }
             else
             {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, AXIS2_FALSE);
-                    return NULL;                        
+                    return AXIS2_FAILURE;                        
             }
             
         }
@@ -295,7 +299,7 @@
                         AXIS2_ERROR_SET((*env)->error, 
                             AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
                                             
-                        return NULL;
+                        return AXIS2_FAILURE;
                     }
                     else
                     {
@@ -311,7 +315,7 @@
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;                        
+                    return AXIS2_FAILURE;                        
                 }
             }
             else
@@ -329,7 +333,7 @@
                     {
                         AXIS2_ERROR_SET((*env)->error, 
                             AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
-                        return NULL;                                            
+                        return AXIS2_FAILURE;                                            
                     }
                     else
                     {
@@ -344,14 +348,14 @@
                 else
                 {
                     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;
+                    return AXIS2_FAILURE;
                 }
             }
             else
             {
                 AXIS2_ERROR_SET((*env)->error, 
                     AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, AXIS2_FAILURE);
-                return NULL;                    
+                return AXIS2_FAILURE;                    
             }
             
         }
@@ -359,7 +363,7 @@
         {
             AXIS2_ERROR_SET((*env)->error, 
                 AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT, AXIS2_FAILURE);
-                return NULL;
+                return AXIS2_FAILURE;
         }
     }
     else if(element_level == 5)
@@ -382,22 +386,22 @@
                     soap_fault_value = axis2_soap_fault_value_create(env);
                     AXIS2_SOAP_FAULT_VALUE_SET_BASE_NODE(soap_fault_value, env, om_ele_node);
                     AXIS2_SOAP_FAULT_VALUE_SET_SOAP_VERSION(soap_fault_value, env, AXIS2_SOAP12);                    
-                    
-                    
                     parent_fcode = AXIS2_SOAP_FAULT_GET_CODE(soap_fault, env);
                     AXIS2_SOAP_FAULT_CODE_SET_VALUE(parent_fcode, env, soap_fault_value);
                     builder_helper_impl->value_present = AXIS2_TRUE;
+                    printf("soap fault value  ");
                 }
                 else
                 {
                     AXIS2_ERROR_SET((*env)->error, 
                         AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT, AXIS2_FAILURE);
-                    return NULL;                        
+                    return AXIS2_FAILURE;                        
                 }            
             }
             else if(AXIS2_STRCMP(ele_localname, 
                 AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
             {
+                printf(" fault subcode first ");
                 if(!(builder_helper_impl->sub_code_present))
                 {
                     if(builder_helper_impl->value_present)
@@ -416,20 +420,20 @@
                     {
                         AXIS2_ERROR_SET((*env)->error,
                             AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, AXIS2_FAILURE);
-                        return NULL;                                                            
+                        return AXIS2_FAILURE;                                                            
                     }
                 }
                 else 
                 {
                     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;                    
+                    return AXIS2_FAILURE;                    
                 }            
             }
             else
             {
                 AXIS2_ERROR_SET((*env)->error, 
                     AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT, AXIS2_FAILURE);
-                return NULL;                    
+                return AXIS2_FAILURE;                    
             }
         }
         else if(AXIS2_STRCMP(parent_localname, AXIS2_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME) == 0)
@@ -453,7 +457,7 @@
             else
             {
                 AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT, AXIS2_FAILURE);   
-                return NULL;
+                return AXIS2_FAILURE;
             }
             
         }else if(AXIS2_STRCMP(parent_localname, AXIS2_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME) == 0)
@@ -474,7 +478,7 @@
                         " should not have child element");
             */                        
 
-            return NULL;
+            return AXIS2_FAILURE;
         }
                 
     }else if(element_level > 5)
@@ -488,12 +492,14 @@
         
         if(AXIS2_STRCMP(parent_localname, AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
         {
+            printf("parent is a subcode  element  %s  %s", ele_localname, AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME);
             if(AXIS2_STRCMP(ele_localname, AXIS2_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME) == 0)
             {
+                printf(" sub code value");
                 if(builder_helper_impl->subcode_value_present)
                 {
                     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;
+                    return AXIS2_FAILURE;
                 }
                 else
                 {
@@ -513,8 +519,9 @@
                                     
                 }
             }
-            else if(AXIS2_STRCMP(ele_localname, AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
+            if(AXIS2_STRCMP(ele_localname, AXIS2_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0)
             {
+                printf("\n parent subcode child subcode ");
                 if(builder_helper_impl->subcode_value_present)
                 {
                     if(!(builder_helper_impl->sub_sub_code_present))
@@ -536,24 +543,25 @@
                     else
                     {
                         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE);
-                        return NULL;                                                        
+                        return AXIS2_FAILURE;                                                        
                     }
                 }
                 else
                 {
                     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, AXIS2_FAILURE);
-                    return NULL;
+                    return AXIS2_FAILURE;
                 
                 }
             }
             else
             {
                 AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT, AXIS2_FAILURE);
-                return NULL;
+                return AXIS2_FAILURE;
             } 
         }
         else if(AXIS2_SOAP_BUILDER_IS_PROCESSING_DETAIL_ELEMENTS(builder_helper_impl->soap_builder, env))
         {
+            
             int detail_element_level = 0;
             axis2_bool_t local_name_exists = AXIS2_FALSE;
             int i = 0;
@@ -578,9 +586,9 @@
                         " should not have child at element level " +
                         elementLevel);
                 */
-                return NULL;
+                return AXIS2_FAILURE;
             }
         }
     }        
-    return NULL;
-}                                                                                                                    
+    return AXIS2_SUCCESS;
+}

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=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c Tue Jan 17 23:46:18 2006
@@ -119,7 +119,7 @@
                       axis2_env_t **env,
                       axis2_char_t* soap_version_uri_from_transport);
                       
-static axis2_om_node_t* 
+static axis2_status_t
 axis2_soap_builder_construct_node(axis2_soap_builder_t *builder,
                                 axis2_env_t **env,
                                 axis2_om_node_t *parent,
@@ -297,26 +297,32 @@
     AXIS2_FUNC_PARAM_CHECK(builder, env, NULL);
     builder_impl = AXIS2_INTF_TO_IMPL(builder);
     lastnode = AXIS2_OM_STAX_BUILDER_GET_LAST_NODE(builder_impl->om_builder, env);
+    
     if(!lastnode)
     {
         builder_impl->last_node_status = AXIS2_BUILDER_LAST_NODE_NULL;
-    }else if(AXIS2_OM_NODE_GET_BUILD_STATUS(lastnode, env))
+    }/*else if(AXIS2_OM_NODE_GET_BUILD_STATUS(lastnode, env))
     {
         builder_impl->last_node_status = AXIS2_BUILDER_LAST_NODE_DONE_TRUE;
-    }else
+    }*/
+    else
     {
         builder_impl->last_node_status = AXIS2_BUILDER_LAST_NODE_DONE_FALSE;
     }
     
     current_node = AXIS2_OM_STAX_BUILDER_NEXT(builder_impl->om_builder, env);
+    
+    printf("\n  element level %d -- status  %d\n", AXIS2_OM_STAX_BUILDER_GET_ELEMENT_LEVEL( builder_impl->om_builder, env), status);
+    
     current_event = AXIS2_OM_STAX_BUILDER_GET_CURRENT_EVENT(builder_impl->om_builder, env);
     if(current_event == AXIS2_XML_READER_EMPTY_ELEMENT ||
         current_event ==  AXIS2_XML_READER_START_ELEMENT)
     {
-        axis2_soap_builder_create_om_element(builder, env, current_node);
+      status = axis2_soap_builder_create_om_element(builder, env, current_node);
     }
    
-    printf("\n  element level %d ", AXIS2_OM_STAX_BUILDER_GET_ELEMENT_LEVEL( builder_impl->om_builder, env));
+    if(status == AXIS2_FAILURE)
+            return NULL;
     return current_node;
 }
                                     
@@ -340,7 +346,7 @@
                                  axis2_om_node_t *current_node)
 {
     axis2_soap_builder_impl_t *builder_impl = NULL;
-    void *ret_val = NULL;
+    int ret_val = AXIS2_SUCCESS;
     AXIS2_FUNC_PARAM_CHECK( builder, env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, current_node, AXIS2_FAILURE);
     builder_impl = AXIS2_INTF_TO_IMPL(builder);
@@ -349,21 +355,21 @@
        
        ret_val =  axis2_soap_builder_construct_node(builder, env, NULL, current_node, AXIS2_TRUE);
          
-    }else if(builder_impl->last_node_status == AXIS2_BUILDER_LAST_NODE_DONE_TRUE)
+    }/*else if(builder_impl->last_node_status == AXIS2_BUILDER_LAST_NODE_DONE_TRUE)
     {
       ret_val =  axis2_soap_builder_construct_node(builder, env, 
             AXIS2_OM_NODE_GET_PARENT(current_node, env), current_node, AXIS2_FALSE);
     
-    }
+    }*/
     else
     {
        ret_val = axis2_soap_builder_construct_node(builder, env, 
             AXIS2_OM_NODE_GET_PARENT(current_node, env), current_node, AXIS2_FALSE);
     }
-    return ret_val ? AXIS2_SUCCESS : AXIS2_FAILURE;
+    return ret_val;
 }   
 
-static axis2_om_node_t* 
+static axis2_status_t
 axis2_soap_builder_construct_node(axis2_soap_builder_t *builder,
                                 axis2_env_t **env,
                                 axis2_om_node_t *parent,
@@ -375,9 +381,10 @@
     axis2_char_t *parent_localname = NULL;
     axis2_char_t *element_name = NULL;
     int element_level = 0;
+    int status = AXIS2_SUCCESS;
     axis2_om_element_t *om_element = NULL;
-    AXIS2_FUNC_PARAM_CHECK(builder, env, NULL);
-    AXIS2_PARAM_CHECK((*env)->error, om_element_node, NULL);
+    AXIS2_FUNC_PARAM_CHECK(builder, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, om_element_node, AXIS2_FAILURE);
     
     builder_impl = AXIS2_INTF_TO_IMPL(builder);
     
@@ -401,7 +408,7 @@
         if(AXIS2_STRCASECMP(element_name, AXIS2_SOAP_ENVELOPE_LOCAL_NAME) != 0)
         {
             AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME, AXIS2_FAILURE);
-            return NULL;   
+            return AXIS2_FAILURE;   
         }
         printf("\n soap envelope \n");
         builder_impl->soap_envelope = axis2_soap_envelope_create_null(env);
@@ -421,13 +428,13 @@
             {
                 AXIS2_ERROR_SET((*env)->error, 
                     AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, AXIS2_FAILURE);
-                    return NULL;
+                    return AXIS2_FAILURE;
             }
             if(builder_impl->body_present)
             {
                 AXIS2_ERROR_SET((*env)->error,
                     AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, AXIS2_FAILURE);
-                return  NULL;                                              
+                return  AXIS2_FAILURE;                                              
             }
             builder_impl->header_present = AXIS2_TRUE;
             soap_header = axis2_soap_header_create(env);
@@ -444,7 +451,7 @@
             {
                 AXIS2_ERROR_SET((*env)->error, 
                     AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE);
-                return NULL;                   
+                return AXIS2_FAILURE;                   
             
             }
             builder_impl->body_present = AXIS2_TRUE;                
@@ -458,7 +465,7 @@
         {
             AXIS2_ERROR_SET((*env)->error,
                     AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, AXIS2_FAILURE);
-            return NULL;                                            
+            return AXIS2_FAILURE;                                            
         }
     }
     else if((element_level == 3) && AXIS2_STRCASECMP(parent_localname, 
@@ -524,18 +531,20 @@
     {
         if(builder_impl->soap_version == AXIS2_SOAP11)
         {
-             AXIS2_SOAP11_BUILDER_HELPER_HANDLE_EVENT(((axis2_soap11_builder_helper_t*)(builder_impl->builder_helper)), 
+             status = AXIS2_SOAP11_BUILDER_HELPER_HANDLE_EVENT(((axis2_soap11_builder_helper_t*)(builder_impl->builder_helper)), 
                 env,  om_element_node , element_level);
         
         }
         if(builder_impl->soap_version == AXIS2_SOAP12)
         {
             printf(" handel event 12");
-            AXIS2_SOAP12_BUILDER_HELPER_HANDLE_EVENT(((axis2_soap12_builder_helper_t *)(builder_impl->builder_helper)), 
+            status = AXIS2_SOAP12_BUILDER_HELPER_HANDLE_EVENT(((axis2_soap12_builder_helper_t *)(builder_impl->builder_helper)), 
                 env,  om_element_node , element_level);
+            if(status == AXIS2_FAILURE)
+                    printf("failure occured");
         }
     }
-    return om_element_node;
+    return status;
 }
 
 axis2_status_t 

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=370075&r1=370074&r2=370075&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 17 23:46:18 2006
@@ -611,4 +611,5 @@
     }
     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_SOAP_VERSION, AXIS2_FAILURE);
     return NULL;
-}                                                 
\ No newline at end of file
+}
+

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault_code.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault_code.c?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault_code.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault_code.c Tue Jan 17 23:46:18 2006
@@ -241,7 +241,7 @@
     {
         my_node = AXIS2_SOAP_FAULT_VALUE_GET_BASE_NODE(
                             fault_code_impl->value, env);
-        AXIS2_SOAP_FAULT_SUB_CODE_FREE(fault_code_impl->value, env);
+        AXIS2_SOAP_FAULT_VALUE_FREE(fault_code_impl->value, env);
         fault_code_impl->value = NULL;
     }
     
@@ -417,5 +417,4 @@
     AXIS2_PARAM_CHECK((*env)->error, fault, NULL);
     return axis2_soap_fault_code_create_with_parent(env, fault, AXIS2_TRUE);
 
-}                             
-
+}

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_utils.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_utils.c?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_utils.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_utils.c Tue Jan 17 23:46:18 2006
@@ -69,9 +69,7 @@
         AXIS2_OM_NODE_FREE_TREE(*my_node, env);
     }
     if(parent && new_node)
-        AXIS2_OM_NODE_ADD_CHILD(new_node, env, parent);
-    *my_node = new_node;
+        AXIS2_OM_NODE_ADD_CHILD(new_node, env, parent); 
+    *my_node = new_node; 
     return AXIS2_SUCCESS;
 }
-
-

Modified: webservices/axis2/trunk/c/test/xml/om/test_om.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/test/xml/om/test_om.c?rev=370075&r1=370074&r2=370075&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/om/test_om.c (original)
+++ webservices/axis2/trunk/c/test/xml/om/test_om.c Tue Jan 17 23:46:18 2006
@@ -25,7 +25,7 @@
 #include <axis2_xml_reader.h>
 #include <stdio.h>
 #include <axis2_xml_writer.h>
-
+#include <axis2_env.h>
 /** 
    Define the environment related variables globaly so that they are available 
    for both functions 

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=370075&r1=370074&r2=370075&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 17 23:46:18 2006
@@ -52,7 +52,7 @@
     axis2_om_output_t *om_output = NULL;
     axis2_soap_body_t *soap_body = NULL;
     axis2_soap_header_t *soap_header = NULL;
-    
+    void *ret_value = NULL;
     
     
     if(!filename)
@@ -67,7 +67,7 @@
     
     om_doc = axis2_om_document_create(env, NULL, om_builder);
     
-    soap_builder = axis2_soap_builder_create(env, om_builder, AXIS2_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI);
+    soap_builder = axis2_soap_builder_create(env, om_builder, AXIS2_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI);
    /* 
     if(soap_builder)    
         printf("soap version %d", AXIS2_SOAP_BUILDER_GET_SOAP_VERSION(soap_builder, env) );
@@ -96,11 +96,14 @@
         return AXIS2_FAILURE;
     }
     */
-     while(!(AXIS2_OM_STAX_BUILDER_IS_COMPLETE(om_builder, env)) && !(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)))
+    /*
+    while(!(AXIS2_OM_STAX_BUILDER_IS_COMPLETE(om_builder, env)) && !(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)))
     {
-        AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+        ret_value = AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+        if(!ret_value)
+               printf("%s" ,AXIS2_ERROR_GET_MESSAGE((*env)->error));
     }
-    /*    
+    */    
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
@@ -111,8 +114,14 @@
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
-   */
-    xml_writer = axis2_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+    AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+
+xml_writer = axis2_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE);
     om_output = axis2_om_output_create( env, xml_writer);  
     AXIS2_SOAP_ENVELOPE_SERIALIZE(soap_envelope, env, om_output, AXIS2_FALSE);
     buffer = AXIS2_XML_WRITER_GET_XML(xml_writer, env);         
@@ -161,9 +170,7 @@
         filename = argv[1];
     allocator = axis2_allocator_init (NULL);
     log = axis2_log_create(allocator, NULL);
-    axis2_error_init();
     error = axis2_error_create(allocator);
-    
     env = axis2_env_create_with_error_log(allocator, error,  log);
     
     /*build_soap_programatically(&env);*/
@@ -172,12 +179,5 @@
     printf("\nbuild soap\n");
     */
     build_soap(&env, filename);
-    getchar();
     return 0;        
 }
-
-
-
-
-
-