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*/