synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Supun Kamburugamuva (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SYNAPSE-549) Implement a smarter default policy for SOAP header removal/preservation
Date Mon, 24 Aug 2009 07:48:59 GMT

    [ https://issues.apache.org/jira/browse/SYNAPSE-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12746756#action_12746756
] 

Supun Kamburugamuva commented on SYNAPSE-549:
---------------------------------------------

This is a important requirement and I would like to contribute a patch. Before going with
the implementation, I'd like to explain how I'm planning to implement it.

The default behavior will be to remove the headers if they are processed.

If a user wants to override the default behavior he can do so with a property. I'd like to
propose the name preserveProcessedHeader for the property. This will take the value true or
false.

The actual removal of the headers will happen in the Axis2FlexibleMEPClient code.

Regards,
Supun..

 

> Implement a smarter default policy for SOAP header removal/preservation
> -----------------------------------------------------------------------
>
>                 Key: SYNAPSE-549
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-549
>             Project: Synapse
>          Issue Type: Improvement
>          Components: Proxy Services
>            Reporter: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.3.1
>
>
> Currently, when sending a message out to the target service, by default the WS-Addressing
headers are removed while all other headers are preserved. SYNAPSE-525 introduced the option
to preserve WS-Addressing headers.
> The most reasonable default behavior would actually be as follows: 
> - If the SOAP header has been processed by a module engaged on the proxy service, remove
it when forwarding the message. 
> - If the SOAP header has not been processed by a module engaged on the proxy service,
preserve it and forward it to the target service. 
> Note that since only addressing is engaged by default on proxy services, the current
behavior is consistent with this default policy, except when security or RM is enabled. In
those latter cases, samples 200 and 201 clearly show that the proposed behavior would be much
more natural.
> We should also apply a similar default policy to responses sent back to the client:
> - If the SOAP header has been processed by a module engaged by Axis2FlexibleMEPClient,
remove it when sending back the response. 
> - If the SOAP header has not been processed by a module engaged by Axis2FlexibleMEPClient,
preserve it. 
> For this case, samples 100 and 101 are interesting.
> Note that since Axis2 keeps track of processed headers using the setProcessed/isProcessed
methods in SOAPHeaderBlock, the proposed change could be implemented in a completely generic
way.
> Since there will be cases where the proposed default policy is not appropriate, we should
also add a generic mechanism to preserve/remove specific headers.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message