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/03/16 05:06:29 UTC

svn commit: r386253 [3/3] - in /webservices/axis2/trunk/c: include/ modules/xml/om/ modules/xml/parser/libxml2/ modules/xml/soap/ test/xml/om/ test/xml/soap/

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=386253&r1=386252&r2=386253&view=diff
==============================================================================
--- webservices/axis2/trunk/c/test/xml/soap/test_soap.c (original)
+++ webservices/axis2/trunk/c/test/xml/soap/test_soap.c Wed Mar 15 20:06:25 2006
@@ -41,16 +41,25 @@
     axis2_char_t *uri = NULL;
     axis2_char_t *prefix = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    if(!om_node)
+        return AXIS2_FAILURE;
+        
     if(AXIS2_OM_NODE_GET_NODE_TYPE(om_node, env) == AXIS2_OM_ELEMENT)
     {
         om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(om_node, env);
+        if(!om_ele)
+            return AXIS2_FAILURE;
+            
         localname = AXIS2_OM_ELEMENT_GET_LOCALNAME(om_ele, env);
-        printf("\n %s \n", localname);
+        if(NULL != localname)
+            printf("\n %s \n", localname);
         om_ns = AXIS2_OM_ELEMENT_GET_NAMESPACE(om_ele, env);
+    
         if(om_ns)
         {
             prefix = AXIS2_OM_NAMESPACE_GET_PREFIX(om_ns, env);
             uri    = AXIS2_OM_NAMESPACE_GET_URI(om_ns, env);
+            
             printf("\n uri %s \n prefix %s \n",uri, prefix);
         }
     }
@@ -61,18 +70,25 @@
 {
     axis2_om_document_t *om_doc = NULL;
     axis2_om_stax_builder_t *om_builder = NULL;
+    
     axis2_xml_reader_t *xml_reader = NULL;
+    
     axis2_soap_builder_t *soap_builder = NULL;
     axis2_soap_envelope_t *soap_envelope = NULL;
+    
     axis2_om_node_t *om_node = NULL;
     axis2_char_t *buffer = NULL;
+    
     axis2_xml_writer_t *xml_writer = NULL;
     axis2_om_output_t *om_output = NULL;
+    
     axis2_soap_body_t *soap_body = NULL;
     axis2_soap_header_t *soap_header = NULL;
     axis2_soap_header_block_t *header_block = NULL;
     axis2_om_children_qname_iterator_t *children_iter = NULL;
+    
     axis2_hash_t *hbs = NULL;
+    
     int status = AXIS2_SUCCESS;    
     
     if(!filename)
@@ -80,86 +96,131 @@
     f = fopen(filename, "r");
     if(!f)
         return -1;
+    printf(" \n\n _________ Test SOAP BUILD ___________ \n\n ");
     
     xml_reader = axis2_xml_reader_create_for_memory(env, read_soap,close_soap ,NULL, NULL);
-    
+    if(!xml_reader)
+    {
+        printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+        return AXIS2_FAILURE;
+    }
+
+   
     om_builder = axis2_om_stax_builder_create(env, xml_reader);
-    
-    /*om_doc = axis2_om_document_create(env, NULL, om_builder); */
-    
+    if(!om_builder)
+    {
+        AXIS2_XML_READER_FREE(xml_reader, env);
+        printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+        return AXIS2_FAILURE;
+    }
     
     soap_builder = axis2_soap_builder_create(env, om_builder, uri);
     if(!soap_builder)
     {
         printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
-        return -1;
+        return AXIS2_FAILURE;
     }
     soap_envelope = AXIS2_SOAP_BUILDER_GET_SOAP_ENVELOPE(soap_builder, env);
+    if(!soap_envelope)
+    {
+        AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+        printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
+        return AXIS2_FAILURE;
+    }
+
     
     om_node = AXIS2_SOAP_ENVELOPE_GET_BASE_NODE(soap_envelope, env);
-    printnode(om_node, env);
+    
+    if(NULL != om_node)
+        printnode(om_node, env);
+    
     soap_header = AXIS2_SOAP_ENVELOPE_GET_HEADER(soap_envelope, env);
-    if(soap_header)
+    if(NULL != soap_header)
     {
         om_node = AXIS2_SOAP_HEADER_GET_BASE_NODE(soap_header, env);
-        printnode(om_node, env);
+        if(NULL != om_node)
+            printnode(om_node, env);
     
         children_iter = AXIS2_SOAP_HEADER_EXAMINE_ALL_HEADER_BLOCKS(soap_header, env);
-        if(children_iter)
+        if(NULL != children_iter)
         {
             while(AXIS2_OM_CHILDREN_ITERATOR_HAS_NEXT(children_iter, env))
             {   
                 om_node = AXIS2_OM_CHILDREN_ITERATOR_NEXT(children_iter, env);
-                printnode(om_node, env);
+                if(NULL != om_node)
+                    printnode(om_node, env);
             }
         }
     }
+    
     soap_body = AXIS2_SOAP_ENVELOPE_GET_BODY(soap_envelope, env);
-    if (soap_body)
+    if (NULL != soap_body)
     {
-        om_node = AXIS2_SOAP_HEADER_GET_BASE_NODE(soap_body, env);
-        if(!om_node)
-            printf("om_node null");
-        printnode(om_node, env);
+        om_node = AXIS2_SOAP_BODY_GET_BASE_NODE(soap_body, env);
+        if(NULL != om_node)
+            printnode(om_node, env);
+        else
+            printf("\n\n soap body base node null \n\n");
     }
     else
     {
+        printf("%s \n", AXIS2_ERROR_GET_MESSAGE((*env)->error));
         printf ("\n\n ERROR soap_body NULL.\n\n");
         return AXIS2_FAILURE;
     }
 
-    if(soap_body)
-        if(AXIS2_SOAP_BODY_HAS_FAULT(soap_body, env))
-        {
-            printf("\n\n has fault\n\n\n ");
-        }
+   
+    if(AXIS2_SOAP_BODY_HAS_FAULT(soap_body, env))
+    {
+            printf("\n\nsoap body  has a fault element\n\n\n ");
+    }
     
-    AXIS2_SOAP_BODY_BUILD(soap_body, env);
     om_node = AXIS2_SOAP_BODY_GET_BASE_NODE(soap_body, env);
-    
-    while(!(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)) && !(AXIS2_OM_STAX_BUILDER_IS_COMPLETE(om_builder, env)))
+    if(om_node)
     {
-        status = AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
-        if(status == AXIS2_FAILURE)
-        {      
-            printf("failure %s" ,AXIS2_ERROR_GET_MESSAGE((*env)->error));
-            break;
-        }               
+        while(!(AXIS2_OM_NODE_GET_BUILD_STATUS(om_node, env)))
+        {
+            status = AXIS2_SOAP_BUILDER_NEXT(soap_builder, env);
+            if(status == AXIS2_FAILURE)
+            {      
+                printf("failure %s" ,AXIS2_ERROR_GET_MESSAGE((*env)->error));
+                return AXIS2_FAILURE;
+            }               
+        }
     }
     
     xml_writer = axis2_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE);
+    if(!xml_writer)
+    {
+        AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+        return AXIS2_FAILURE;
+    }
     
     om_output = axis2_om_output_create( env, xml_writer);  
+    if(!om_output)
+    {
+        AXIS2_SOAP_BUILDER_FREE(soap_builder, env);
+        AXIS2_XML_WRITER_FREE(xml_writer, env);
+        return AXIS2_FAILURE;
+    }
+
     
     AXIS2_SOAP_ENVELOPE_SERIALIZE(soap_envelope, env, om_output, AXIS2_FALSE);
+    
     buffer = AXIS2_XML_WRITER_GET_XML(xml_writer, env);         
-    printf("%s \n", buffer);
-    if(buffer)
+    
+    printf("\n\nThe serialized xml is >>>>>>>>>>>>>\n\n\n%s \n\n\n", buffer);
+    
+    if(NULL != buffer)
          AXIS2_FREE((*env)->allocator, buffer);
+    
     AXIS2_SOAP_ENVELOPE_FREE(soap_envelope, env);
+    
     AXIS2_OM_OUTPUT_FREE(om_output, env);
-    return AXIS2_SUCCESS;
     
+    printf(" \n __________ END TEST SOAP BUILD ____________ \n");
+    
+    return AXIS2_SUCCESS;
 }
 
 
@@ -169,28 +230,45 @@
     axis2_soap_body_t *soap_body = NULL;
     axis2_soap_header_t *soap_header = NULL;
     axis2_soap_fault_t *soap_fault = NULL;
+    axis2_soap_fault_code_t *fault_code = NULL;
+    axis2_soap_header_block_t *hb1 = NULL;
+    
     axis2_om_namespace_t *env_ns = NULL;
+    axis2_om_namespace_t *test_ns = NULL;
+    axis2_om_namespace_t *role_ns = NULL;
+    
     axis2_xml_writer_t *xml_writer = NULL;
     axis2_om_output_t *om_output = NULL;
+    
     axis2_char_t *buffer = NULL;
-    axis2_soap_header_block_t *hb1 = NULL;
-    axis2_om_namespace_t *test_ns = NULL;
-    axis2_om_namespace_t *role_ns = NULL;
     axis2_om_node_t *hb_node = NULL;
     axis2_om_element_t *hb_ele =  NULL;
-    axis2_soap_fault_code_t *fault_code = NULL;
-
+    
+    printf(" \n ____________ BUILD SOAP PROGRAMATICALLY _______________ \n");
+    
+    
     env_ns = axis2_om_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope", "env");
+    if(!env_ns)
+        return AXIS2_FAILURE;
+        
     soap_envelope = axis2_soap_envelope_create(env, env_ns);
-    
+    if(!soap_envelope)
+        return AXIS2_FAILURE;
+        
     soap_header = axis2_soap_header_create_with_parent(env, soap_envelope);
+    if(!soap_header)
+        return AXIS2_FAILURE;
     
     test_ns = axis2_om_namespace_create(env, "http://example.org/ts-tests", "test");
+    
     role_ns = axis2_om_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope/role/next","role");
 
    
+    
     hb1 = axis2_soap_header_block_create_with_parent(env, "echoOk", role_ns , soap_header);
+    
     hb_node = AXIS2_SOAP_HEADER_BLOCK_GET_BASE_NODE(hb1, env);
+    
     hb_ele = AXIS2_OM_NODE_GET_DATA_ELEMENT(hb_node, env);
     
     AXIS2_OM_ELEMENT_SET_NAMESPACE(hb_ele, env, test_ns, hb_node);
@@ -203,16 +281,25 @@
     fault_code = axis2_soap_fault_code_create_with_parent(env, soap_fault);
     
     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); 
 
     AXIS2_SOAP_ENVELOPE_FREE(soap_envelope, env);
+    
     AXIS2_FREE((*env)->allocator, buffer);
+    
     buffer = NULL;
+    
     AXIS2_OM_OUTPUT_FREE(om_output, env);
+    
+    printf("\n __________ END BUILD SOAP PROGRAMATICALLY ____________\n");
+    
     return AXIS2_SUCCESS;
 }
 
@@ -263,9 +350,9 @@
     env = axis2_env_create_with_error_log(allocator, error,  log);
     
     axis2_error_init(); 
-    build_soap_programatically(&env);   
+/*    build_soap_programatically(&env);   */
     build_soap(&env, filename,uri); 
-    create_soap_fault(&env);  
+/*    create_soap_fault(&env);  */
     axis2_env_free(env); 
     axis2_allocator_free(allocator);
     return 0;