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/19 04:31:12 UTC

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

Author: nandika
Date: Wed Jan 18 19:31:00 2006
New Revision: 370353

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

Modified:
    webservices/axis2/trunk/c/include/axis2_om_stax_builder.h
    webservices/axis2/trunk/c/modules/xml/om/om_stax_builder.c
    webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_fault_node.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_fault_value.c
    webservices/axis2/trunk/c/test/xml/soap/test_soap.c

Modified: webservices/axis2/trunk/c/include/axis2_om_stax_builder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_om_stax_builder.h?rev=370353&r1=370352&r2=370353&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_om_stax_builder.h (original)
+++ webservices/axis2/trunk/c/include/axis2_om_stax_builder.h Wed Jan 18 19:31:00 2006
@@ -133,7 +133,10 @@
         axis2_status_t (AXIS2_CALL *set_element_level)
                                             (struct axis2_om_stax_builder* builder,
                                              axis2_env_t **env,
-                                             int element_level);                                                                                                                                                                                                     
+                                             int element_level); 
+                                             
+        int (AXIS2_CALL *next_with_token)(struct axis2_om_stax_builder *builder,
+                                          axis2_env_t **env);                                                                                                                                                                                                                                                 
                                                            
     } axis2_om_stax_builder_ops_t;
 
@@ -190,7 +193,10 @@
         ((builder)->ops->get_element_level(builder, env))
         
 #define AXIS2_OM_STAX_BUILDER_SET_ELEMENT_LEVEL(builder, env, element_level) \
-        ((builder)->ops->set_element_level(builder, env, element_level))             
+        ((builder)->ops->set_element_level(builder, env, element_level)) 
+        
+#define AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(builder, env) \
+        ((builder)->ops->next_with_token(builder, env))                    
 
 /** @} */
 

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=370353&r1=370352&r2=370353&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 Wed Jan 18 19:31:00 2006
@@ -72,7 +72,11 @@
 axis2_status_t AXIS2_CALL 
 axis2_om_stax_builder_set_element_level(axis2_om_stax_builder_t* builder,
                                         axis2_env_t **env,
-                                        int element_level);                                                                                                       											
+                                        int element_level);   
+                                        
+int AXIS2_CALL 
+axis2_om_stax_builder_next_with_token(axis2_om_stax_builder_t *builder,
+                                          axis2_env_t **env);                                                                                                                                            											
 													
 /********************************* axis2_om_stax_builder_impl_t struct ********/
 typedef struct axis2_om_stax_builder_impl_t
@@ -160,6 +164,12 @@
 	        axis2_om_stax_builder_get_current_event;
     builder->om_stax_builder.ops->get_last_node = 
             axis2_om_stax_builder_get_lastnode;	
+    builder->om_stax_builder.ops->set_last_node =
+            axis2_om_stax_builder_set_last_node; 
+            
+    builder->om_stax_builder.ops->next_with_token =
+            axis2_om_stax_builder_next_with_token;                       
+            
     builder->om_stax_builder.ops->is_complete =
             axis2_om_stax_builder_is_complete;
     builder->om_stax_builder.ops->set_element_level =
@@ -869,4 +879,91 @@
     builder_impl = AXIS2_INTF_TO_IMPL(builder);
     builder_impl->element_level = element_level;    
     return AXIS2_SUCCESS;
-}                                        
\ No newline at end of file
+} 
+
+int AXIS2_CALL 
+axis2_om_stax_builder_next_with_token(axis2_om_stax_builder_t *builder,
+                                          axis2_env_t **env)
+{
+
+    int token = 0;
+    axis2_om_stax_builder_impl_t *builder_impl = NULL;
+    builder_impl = AXIS2_INTF_TO_IMPL(builder);
+    
+    if (builder_impl->done)
+    {
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, AXIS2_FAILURE);
+            return -1;
+    }
+
+        token = AXIS2_XML_READER_NEXT (builder_impl->parser, env);
+
+        if(token == -1)
+            return -1;
+
+                
+        if (!(builder_impl->cache))
+        {
+            return -1;
+        }
+
+        
+        switch (token)
+        {
+        case AXIS2_XML_READER_START_DOCUMENT:
+            /*Do nothing */
+            break;
+        
+        case AXIS2_XML_READER_START_ELEMENT:
+            axis2_om_stax_builder_create_om_element (
+                        builder, env); 
+            break;
+        
+        case AXIS2_XML_READER_EMPTY_ELEMENT:
+             axis2_om_stax_builder_create_om_element (
+                        builder, env);
+        
+        case AXIS2_XML_READER_END_ELEMENT:
+            axis2_om_stax_builder_end_element (builder, env);
+            break;
+        
+        
+        case AXIS2_XML_READER_SPACE:
+            /* Do nothing */
+            break;
+        
+        case AXIS2_XML_READER_CHARACTER:
+            axis2_om_stax_builder_create_om_text(builder, env);
+            break;
+                
+        case AXIS2_XML_READER_ENTITY_REFERANCE:
+            break;
+        
+        case AXIS2_XML_READER_COMMENT:
+            
+               axis2_om_stax_builder_create_om_comment(builder, env);
+                axis2_om_stax_builder_end_element (builder, env);
+        
+            break;
+        
+        case AXIS2_XML_READER_PROCESSING_INSTRUCTION:
+            
+             axis2_om_stax_builder_create_om_processing_instruction(
+                                        builder , env );
+            axis2_om_stax_builder_end_element (builder, env);
+          
+            break;
+        
+        case AXIS2_XML_READER_CDATA:
+            break;
+        
+        case AXIS2_XML_READER_DOCUMENT_TYPE:
+        /* node = axis2_om_stax_builder_create_om_doctype(om_stax_builder, env);
+        */          
+        break;
+        
+        default:
+            break;
+        }
+   return token;
+}                                                                                
\ No newline at end of file

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=370353&r1=370352&r2=370353&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 Wed Jan 18 19:31:00 2006
@@ -146,10 +146,11 @@
     axis2_soap_fault_t *soap_fault = 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);
+    ele_localname = AXIS2_OM_ELEMENT_GET_LOCALNAME(om_ele, env);
+    printf("\nelement localname %s\n", ele_localname);
     
     soap_envelope = AXIS2_SOAP_BUILDER_GET_SOAP_ENVELOPE(builder_helper_impl->soap_builder, env);
     if(soap_envelope)
@@ -159,7 +160,7 @@
     }
     
                 
-    if(element_level > 4)
+    if(element_level == 4)
     {
         axis2_soap_fault_code_t *fault_code = NULL;
         axis2_soap_fault_value_t *fault_value = NULL;
@@ -169,7 +170,7 @@
 
 
         if(AXIS2_STRCMP(ele_localname, AXIS2_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME) == 0)
-        {
+        {   printf("\n fault code found %s\n", AXIS2_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME);
             if(builder_helper_impl->fault_string_present)
             {
                 AXIS2_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(
@@ -178,9 +179,9 @@
             fault_code = axis2_soap_fault_code_create(env);
             AXIS2_SOAP_FAULT_CODE_SET_BASE_NODE(fault_code, env, om_element_node);
             AXIS2_SOAP_FAULT_CODE_SET_SOAP_VERSION(fault_code, env, AXIS2_SOAP11);
-            
             AXIS2_SOAP_FAULT_SET_CODE(soap_fault, env, fault_code);
-            
+            AXIS2_OM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIS2_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME);
+                        
             fault_value = axis2_soap_fault_value_create_with_code(env, fault_code);
             
             fault_value_node = AXIS2_SOAP_FAULT_VALUE_GET_BASE_NODE(fault_value, env);
@@ -191,7 +192,8 @@
                                                 env, fault_value_node); 
             
             axis2_soap11_builder_helper_process_text(builder_helper, env);
-            
+            AXIS2_OM_STAX_BUILDER_SET_LAST_NODE(builder_helper_impl->om_builder,
+                                                env, om_element_node); 
             AXIS2_OM_NODE_SET_BUILD_STATUS(om_element_node, env, AXIS2_TRUE); 
             
             AXIS2_OM_STAX_BUILDER_SET_ELEMENT_LEVEL(builder_helper_impl->om_builder, 
@@ -204,7 +206,6 @@
             axis2_soap_fault_reason_t *fault_reason = NULL;
             axis2_soap_fault_text_t *fault_text = NULL;
             axis2_om_node_t *fault_text_node = NULL;
-            axis2_om_element_t *om_ele       = NULL;
             if(builder_helper_impl->fault_code_present)
             {
                 AXIS2_SOAP_BUILDER_SET_BOOL_PROCESSING_MANDATORY_FAULT_ELEMENTS(
@@ -217,13 +218,15 @@
             
             AXIS2_SOAP_FAULT_SET_REASON(soap_fault, env, fault_reason); 
             
-            axis2_soap_fault_text_create_with_parent(env, fault_reason);
+            fault_text = axis2_soap_fault_text_create_with_parent(env, fault_reason);
+            
             
             fault_text_node = AXIS2_SOAP_FAULT_TEXT_GET_BASE_NODE(fault_text, env);
             /* TODO process namespace data */
             AXIS2_OM_STAX_BUILDER_SET_LAST_NODE(builder_helper_impl->om_builder, env, fault_text_node);
             
             axis2_soap11_builder_helper_process_text(builder_helper, env);
+            AXIS2_OM_STAX_BUILDER_SET_LAST_NODE(builder_helper_impl->om_builder, env, om_element_node);
             
             AXIS2_OM_NODE_SET_BUILD_STATUS(om_element_node, env, AXIS2_TRUE);
             
@@ -320,8 +323,21 @@
     axis2_soap11_builder_helper_impl_t *builder_helper_impl = NULL;
     int token = 0;
     builder_helper_impl = AXIS2_INTF_TO_IMPL(builder_helper);
-    AXIS2_OM_STAX_BUILDER_NEXT(builder_helper_impl->om_builder, env);
-    token = AXIS2_OM_STAX_BUILDER_GET_CURRENT_EVENT(builder_helper_impl->om_builder, env);
+    token = AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper_impl->om_builder, env);
+   
+   /* while(!AXIS2_OM_NODE_GET_BUILD_STATUS(last_node, env))
+    {
+        
+        token = AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper_impl->om_builder, env);
+        if(token
+        if(token != AXIS2_XML_READER_CHARACTER)
+        {
+            AXIS2_ERROR_SET((*env)->error, 
+                AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE, AXIS2_FAILURE);
+            return AXIS2_FAILURE;                
+        }
+    }
+    */
     while(token != AXIS2_XML_READER_END_ELEMENT)
     {
         if(token != AXIS2_XML_READER_CHARACTER)
@@ -329,8 +345,9 @@
             AXIS2_ERROR_SET((*env)->error, 
                 AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE, AXIS2_FAILURE);
             return AXIS2_FAILURE;                
+        
         }
-        AXIS2_OM_STAX_BUILDER_NEXT(builder_helper_impl->om_builder, env);
+        token = AXIS2_OM_STAX_BUILDER_NEXT_WITH_TOKEN(builder_helper_impl->om_builder, env);    
     }
     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=370353&r1=370352&r2=370353&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_builder.c Wed Jan 18 19:31:00 2006
@@ -522,7 +522,8 @@
             }
             else if(AXIS2_STRCMP(AXIS2_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, 
                 AXIS2_OM_NAMESPACE_GET_URI(env_ns , env)) == 0)
-            {
+            {   
+                printf("\nsoap11 builder create\n");
                 builder_impl->builder_helper = axis2_soap11_builder_helper_create(env, builder, builder_impl->om_builder);            
             }
              
@@ -530,7 +531,8 @@
     else if(element_level > 3 && builder_impl->processing_fault)
     {
         if(builder_impl->soap_version == AXIS2_SOAP11)
-        {
+        {   
+            printf("\nSoap11  handel event\n");
              status = AXIS2_SOAP11_BUILDER_HELPER_HANDLE_EVENT(((axis2_soap11_builder_helper_t*)(builder_impl->builder_helper)), 
                 env,  om_element_node , element_level);
         

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault_node.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault_node.c?rev=370353&r1=370352&r2=370353&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault_node.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault_node.c Wed Jan 18 19:31:00 2006
@@ -85,7 +85,7 @@
     
     fault_node_impl = (axis2_soap_fault_node_impl_t*)AXIS2_MALLOC(
                             (*env)->allocator,
-                            sizeof(axis2_soap_fault_node_impl_t*));
+                            sizeof(axis2_soap_fault_node_impl_t));
     if(!fault_node_impl)
     {
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
@@ -220,17 +220,16 @@
                            axis2_om_node_t *node)
 {
     axis2_soap_fault_node_impl_t* fault_node_impl = NULL;
-    AXIS2_FUNC_PARAM_CHECK(fault_node, env, AXIS2_FAILURE);
     fault_node_impl = AXIS2_INTF_TO_IMPL(fault_node); 
+    
+    AXIS2_PARAM_CHECK((*env)->error, node, AXIS2_FAILURE);
     if(AXIS2_OM_NODE_GET_NODE_TYPE(node, env) != AXIS2_OM_ELEMENT)
     {
         AXIS2_ERROR_SET((*env)->error, 
                 AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE);
         return AXIS2_FAILURE;
     }
-    
-    fault_node_impl = AXIS2_INTF_TO_IMPL(fault_node);
-    fault_node_impl->om_ele_node = node;
+    fault_node_impl->om_ele_node = node;  
     fault_node_impl->om_ele = (axis2_om_element_t *) 
                             AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
     return AXIS2_SUCCESS;

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault_value.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault_value.c?rev=370353&r1=370352&r2=370353&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault_value.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault_value.c Wed Jan 18 19:31:00 2006
@@ -179,7 +179,7 @@
     fault_val_impl = AXIS2_INTF_TO_IMPL(fault_value);
     
     fault_val_impl->parent = parent;
-    fault_val_impl->parent_type = AXIS2_SOAP_FAULT_SUB_CODE;
+    fault_val_impl->parent_type = AXIS2_SOAP_FAULT_CODE;
     
     parent_node = AXIS2_SOAP_FAULT_CODE_GET_BASE_NODE(parent, env);
     parent_ele  = (axis2_om_element_t*)
@@ -192,7 +192,7 @@
                     &this_node);
     fault_val_impl->om_ele_node = this_node;
     fault_val_impl->om_ele = this_ele;
-    AXIS2_SOAP_FAULT_SUB_CODE_SET_VALUE(parent, env, fault_value);
+    AXIS2_SOAP_FAULT_CODE_SET_VALUE(parent, env, fault_value);
     return &(fault_val_impl->fault_value);
 }                                                        
 
@@ -239,7 +239,6 @@
                                   axis2_env_t **env)
 {
     axis2_soap_fault_value_impl_t *fault_val_impl = NULL;
-    AXIS2_FUNC_PARAM_CHECK(fault_val_impl, env, NULL);
     fault_val_impl = AXIS2_INTF_TO_IMPL(fault_value);
     return fault_val_impl->om_ele_node;
 }                                  
@@ -249,7 +248,6 @@
                                      axis2_env_t **env)
 {
     axis2_soap_fault_value_impl_t *fault_val_impl = NULL;
-    AXIS2_FUNC_PARAM_CHECK(fault_val_impl, env, AXIS2_FAILURE);
     fault_val_impl = AXIS2_INTF_TO_IMPL(fault_value);
     return fault_val_impl->soap_version;
 
@@ -262,7 +260,6 @@
                                         int soap_version)
 {
     axis2_soap_fault_value_impl_t *fault_val_impl = NULL;
-    AXIS2_FUNC_PARAM_CHECK(fault_val_impl, env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, soap_version, AXIS2_FAILURE);
     fault_val_impl = AXIS2_INTF_TO_IMPL(fault_value);
      fault_val_impl->soap_version = soap_version; 

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=370353&r1=370352&r2=370353&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/soap/test_soap.c (original)
+++ webservices/axis2/trunk/c/test/xml/soap/test_soap.c Wed Jan 18 19:31:00 2006
@@ -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,15 +96,13 @@
         return AXIS2_FAILURE;
     }
     */
-   /*
     while(!(AXIS2_OM_STAX_BUILDER_IS_COMPLETE(om_builder, env)) && !(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, 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);
     AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
@@ -129,13 +127,15 @@
     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);         
-    printf("%s \n",  buffer); 
+   // fwrite(buffer, sizeof(char), strlen(buffer)+1, fopen("result.xml","w"));
+    printf("%s", buffer);
     return AXIS2_SUCCESS;
     
 }