Incorrect SOAP fault handling when Rampart is engaged -----------------------------------------------------
Key: AXIS2C-1394 URL: https://issues.apache.org/jira/browse/AXIS2C-1394 Project: Axis2-C Issue Type: Bug Components: core/engine Affects Versions: Current (Nightly) Reporter: Francois Mireaux When axis2_msg_recv_receive_impl detects that response is a SOAP fault, it doesn't send this response but delegates sending to HTTP transport (http_transport_utils.c). But the fault message context created by axis2_engine_create_fault_msg_ctx doesn't copy the base axis2 context contained in input message context, as in axis2_core_utils_create_out_msg_ctx used in normal processing. So Rampart context is not found, Rampart fails to process and SOAP fault is send without security headers. Adding this code at the end of axis2_engine_create_fault_msg_ctx seems to correct the problem but I don't enough master Axis2/C to know if it's allways ok : if ( 1 == 1 ) { // in order to localize ctx declaration axis2_ctx_t *ctx = axis2_msg_ctx_get_base(processing_context, env); if (ctx) { axis2_ctx_t *new_ctx = axis2_msg_ctx_get_base(fault_ctx, env); if (new_ctx) { axis2_ctx_set_property_map(new_ctx, env, axis2_ctx_get_property_map(ctx, env)); } } Problem was detected with WSO2 WSF/PHP and I haven't simple Rampart-C test to submit. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.