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 12:19:30 UTC

svn commit: r371894 - in /webservices/axis2/trunk/c: modules/xml/soap/soap11_builder_helper.c modules/xml/soap/soap_envelope.c modules/xml/soap/soap_fault.c modules/xml/soap/soap_fault_detail.c test/xml/soap/test_soap.c

Author: nandika
Date: Tue Jan 24 03:19:17 2006
New Revision: 371894

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

Modified:
    webservices/axis2/trunk/c/modules/xml/soap/soap11_builder_helper.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_envelope.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c
    webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c
    webservices/axis2/trunk/c/test/xml/soap/test_soap.c

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=371894&r1=371893&r2=371894&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 24 03:19:17 2006
@@ -251,6 +251,7 @@
         {
             axis2_soap_fault_detail_t *fault_detail = NULL;
             fault_detail = axis2_soap_fault_detail_create(env);
+            printf("\n\n fault detail create\n\n");
             AXIS2_OM_ELEMENT_SET_LOCALNAME(om_ele, env, AXIS2_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME);
             AXIS2_SOAP_FAULT_SET_BASE_NODE(soap_fault, env, om_element_node);
             AXIS2_SOAP_FAULT_SET_DETAIL(soap_fault, env, fault_detail);

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=371894&r1=371893&r2=371894&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 24 03:19:17 2006
@@ -22,6 +22,10 @@
  #include <axis2_soap.h>
  #include <axis2_soap_builder.h>
  #include <axis2_soap_fault_code.h>
+ #include <axis2_soap_fault_reason.h>
+ #include <axis2_soap_fault_detail.h>
+ #include <axis2_soap_fault_role.h>
+ 
  /******************* impl struct *********************************************/
  
  typedef struct axis2_soap_envelope_impl_t
@@ -533,7 +537,6 @@
                 OMConstants.DEFAULT_CHAR_SET_ENCODING : charSetEncoding,
                 xmlVersion == null ? OMConstants.DEFAULT_XML_VERSION : xmlVersion);
     }*/
-    /*
     if(envelope_impl->soap_version == AXIS2_SOAP11)
     {
         axis2_soap_body_t *soap_body = NULL;
@@ -546,29 +549,83 @@
             
             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);
                 if(soap_fault)
                 {
+                    axis2_soap_fault_code_t *fault_code = NULL;
+                    axis2_soap_fault_reason_t *fault_reason = NULL;
+                    axis2_soap_fault_detail_t *fault_detail = NULL;
+                    axis2_soap_fault_role_t *fault_role = NULL;
                     fault_code = AXIS2_SOAP_FAULT_GET_CODE(soap_fault, env);
                     if(fault_code)
                     {
+                        axis2_om_node_t *fault_code_om_node = NULL;
+                        axis2_om_element_t *fault_code_om_ele = NULL;
+                        axis2_om_node_t *fault_value_om_node = NULL;
+                        axis2_om_element_t *fault_value_om_ele = NULL;
+                        axis2_char_t *text = NULL;
                         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); 
+                        fault_value_om_node = AXIS2_OM_NODE_GET_FIRST_CHILD(fault_code_om_node, env);
+                        AXIS2_OM_NODE_DETACH(fault_value_om_node, env);
+                        fault_value_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_value_om_node, env);
+                        text = AXIS2_OM_ELEMENT_GET_TEXT(fault_value_om_ele, env, fault_value_om_node);
+                        AXIS2_OM_ELEMENT_SET_TEXT(fault_code_om_ele, env, text, fault_code_om_node);
                         
-                                           
-                    
+                        AXIS2_OM_NODE_FREE_TREE(fault_value_om_node, env);                                                                                              
                     }
+                    fault_reason = AXIS2_SOAP_FAULT_GET_REASON(soap_fault, env);
+                    if(fault_reason)
+                    {
+                        axis2_om_node_t *fault_reason_om_node = NULL;
+                        axis2_om_element_t *fault_reason_om_ele = NULL;
+                        
+                        axis2_om_node_t *fault_text_om_node = NULL;
+                        axis2_om_element_t *fault_text_om_ele = NULL;
+
+                        axis2_char_t *text =  NULL;                        
                     
+                        fault_reason_om_node = AXIS2_SOAP_FAULT_REASON_GET_BASE_NODE(fault_reason, env);
+                        fault_reason_om_ele  = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_reason_om_node, env);
+                        AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_reason_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME);
+                        
+                        
+                        fault_text_om_node = AXIS2_OM_NODE_GET_FIRST_CHILD(fault_reason_om_node, env);
+                        fault_text_om_ele  = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_text_om_node, env);
+                        AXIS2_OM_NODE_DETACH(fault_text_om_node, env);                        
+                        
+                        text = AXIS2_OM_ELEMENT_GET_TEXT(fault_text_om_ele, env, fault_text_om_node);
+                        AXIS2_OM_ELEMENT_SET_TEXT( fault_reason_om_ele, env, text, fault_reason_om_node);   
+                        
+                        AXIS2_OM_NODE_FREE_TREE(fault_text_om_node, env);
+                    }
+                   
+                    fault_role = AXIS2_SOAP_FAULT_GET_ROLE(soap_fault, env);
+                    if(fault_role)
+                    {
+                        axis2_om_node_t *fault_role_om_node = NULL;
+                        axis2_om_element_t *fault_role_om_ele = NULL;
+                        
+                        fault_role_om_node = AXIS2_SOAP_FAULT_ROLE_GET_BASE_NODE(fault_role, env);
+                        fault_role_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_role_om_node, env);
+                        AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_role_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME);
+                    }
+                
+                    fault_detail = AXIS2_SOAP_FAULT_GET_DETAIL(soap_fault, env);
+                    if(fault_detail)
+                    {
+                        axis2_om_node_t *fault_detail_om_node = NULL;
+                        axis2_om_element_t *fault_detail_om_ele = NULL;
+                        
+                        fault_detail_om_node = AXIS2_SOAP_FAULT_DETAIL_GET_BASE_NODE(fault_detail, env);
+                    //    fault_detail_om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(fault_detail_om_node, env);
+                      //  AXIS2_OM_ELEMENT_SET_LOCALNAME(fault_detail_om_ele, env, AXIS2_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME);
+                    }
                 }  
             }
         }
     }
-    */
     return AXIS2_OM_NODE_SERIALIZE(envelope_impl->om_ele_node, env, om_output);
 }
 

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault.c Tue Jan 24 03:19:17 2006
@@ -555,7 +555,11 @@
     AXIS2_FUNC_PARAM_CHECK(fault, env, NULL);
     fault_impl = AXIS2_INTF_TO_IMPL(fault);
     this_node = fault_impl->om_ele_node;
-    
+    if(fault_impl->frole)
+    {
+        return fault_impl->frole;
+    }
+    /*
     if(!(fault_impl->frole))
     {
         role_node = axis2_soap_utils_get_child_with_name(env, 
@@ -566,6 +570,7 @@
         AXIS2_SOAP_FAULT_ROLE_SET_BASE_NODE(role , env, role_node);
         fault_impl->frole = role;
     }
+    */
     return fault_impl->frole; 
 }
 
@@ -616,6 +621,7 @@
     
     AXIS2_FUNC_PARAM_CHECK(fault, env, NULL);
     fault_impl = AXIS2_INTF_TO_IMPL(fault);
+    /*
     this_node = fault_impl->om_ele_node;
     
     if(!(fault_impl->fdetail))
@@ -628,6 +634,7 @@
         AXIS2_SOAP_FAULT_DETAIL_SET_BASE_NODE(detail , env, detail_node);
         fault_impl->fdetail = detail;
     }
+    */
     return fault_impl->fdetail; 
 }   
 

Modified: webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c?rev=371894&r1=371893&r2=371894&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c (original)
+++ webservices/axis2/trunk/c/modules/xml/soap/soap_fault_detail.c Tue Jan 24 03:19:17 2006
@@ -252,8 +252,9 @@
         return AXIS2_FAILURE;
    }
    fault_detail_impl->om_ele_node = node;
-   fault_detail_impl->om_ele = (axis2_om_element_t *)
-            AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+   fault_detail_impl->om_ele = (axis2_om_element_t *)AXIS2_OM_NODE_GET_DATA_ELEMENT(node, env);
+   printf("\n\n ___ %s ____\n\n", AXIS2_OM_ELEMENT_GET_LOCALNAME( fault_detail_impl->om_ele, env));
+            
    return AXIS2_SUCCESS;
 }
 

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=371894&r1=371893&r2=371894&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 24 03:19:17 2006
@@ -239,6 +239,6 @@
     env = NULL;
     allocator = NULL;
     printf("\n");
-
+    getchar();
     return 0;        
 }