[ https://issues.apache.org/jira/browse/AXIS2C-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nandika Jayawardana resolved AXIS2C-1394. ----------------------------------------- Resolution: Fixed Fix Version/s: Current (Nightly) Assignee: Nandika Jayawardana Applied the fix to axis2 trunk > 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 > Assignee: Nandika Jayawardana > Fix For: Current (Nightly) > > > 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.