You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Bill Blough (Jira)" <ji...@apache.org> on 2020/04/07 16:00:00 UTC

[jira] [Updated] (AXIS2C-1394) Incorrect SOAP fault handling when Rampart is engaged

     [ https://issues.apache.org/jira/browse/AXIS2C-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bill Blough updated AXIS2C-1394:
--------------------------------
    Fix Version/s:     (was: Current (Nightly))
                   1.7.0

> 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: Korale Gamaralalage Nandika Chandrasiri Jayawardana
>            Priority: Major
>             Fix For: 1.7.0
>
>
> 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 was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: c-dev-help@axis.apache.org