Author: shankar
Date: Mon Mar 10 03:02:34 2008
New Revision: 635506

URL: http://svn.apache.org/viewvc?rev=635506&view=rev
Log:
including wsse namespace into Subcode element. Fix for issue RAMPARTC-79

Modified:
    webservices/rampart/trunk/c/src/util/rampart_handler_util.c

Modified: webservices/rampart/trunk/c/src/util/rampart_handler_util.c
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_handler_util.c?rev=635506&r1=635505&r2=635506&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_handler_util.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_handler_util.c Mon Mar 10 
03:02:34 2008
@@ -160,6 +160,7 @@
     axiom_element_t * text_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     axutil_array_list_t *sub_codes = NULL;
+    axiom_soap_body_t *body = NULL;
 
     sub_codes = axutil_array_list_create(env, 1);
     axutil_array_list_add(sub_codes, env, sub_code);
@@ -172,6 +173,27 @@
                "soapenv:Sender",
                reason_text,
                soap_version, sub_codes, text_om_node);
+
+    body = axiom_soap_envelope_get_body(envelope, env);
+    if(body)
+    {
+        axiom_node_t *body_node = NULL;
+        body_node = axiom_soap_body_get_base_node(body, env);
+        if(body_node)
+        {
+            axiom_node_t *subcode_node = NULL;
+            subcode_node = oxs_axiom_get_node_by_local_name(env, body_node, 
AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME);
+            if(subcode_node)
+            {
+                axiom_element_t *subcode_ele = NULL;
+                subcode_ele = axiom_node_get_data_element(subcode_node, env);
+                if(subcode_ele)
+                {
+                    axiom_element_declare_namespace(subcode_ele, env, 
subcode_node, ns1);
+                }
+            }
+        }
+    }
 
     axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, envelope);
     /*free sub codes*/


Reply via email to