Provide access to incoming message when processing an outgoing message
----------------------------------------------------------------------
Key: CXF-3167
URL: https://issues.apache.org/jira/browse/CXF-3167
Project: CXF
Issue Type: Improvement
Components: Core
Affects Versions: 2.3.0
Reporter: Oliver Wulff
CXF can act as an intermediary where it is on the one hand a service provider
and on the other hand the service implementation consumes other services.
Within the outgoing interceptor chain (service consumer) it must get access to
the incoming message.
An interceptor can access the incoming message with the following API:
message.get("PREVIOUS_MESSAGE");
Implementation proposal:
...
private Message previousMessage;
...
private PhaseInterceptorChain(PhaseInterceptorChain src) {
...
//
previousMessage = PhaseInterceptorChain.getCurrentMessage();
if (previousMessage != null) {
LOG.fine("Previous message available");
} else {
LOG.finest("No previous message available");
}
...
@SuppressWarnings("unchecked")
public synchronized boolean doIntercept(Message message) {
updateIterator();
pausedMessage = message;
// add the incoming message to the current message
if (previousMessage != null) {
message.put("PREVIOUS_MESSAGE", previousMessage);
}
Message oldMessage = CURRENT_MESSAGE.get();
...
have to do some testing on this
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.