Hi all,
Here I tried some fun to intercept the message exchange routing from the
external service back to the process with a small class as follows
-------------------
public class FaultInterceptor implements MessageExchangeInterceptor{
private static final Log LOG = LogFactory.getLog(FaultInterceptor.class);
@Override public void onPartnerInvoked(PartnerRoleMessageExchange mex,
InterceptorContext itc) throws FailMessageExchangeException,
FaultMessageExchangeException {
LOG.debug("blablabla");
/* ONLY INTERCEPT THE RESPONSE MESSAGE COMING FROM WS */
if (mex.getStatus() == Status.RESPONSE){ Message m =
mex.getResponse(); m.setHeaderPart("customeheader", "content");
throw new FaultMessageExchangeException("MycustomeFault",
mex.getCaller(), m); } }...}
-----------------
First, ODE log says it registered the implementation class successfully. I want
to write something to prove that I can really intercept the message.
Question: after invoke an external web service..
- Neiter the echo text "blablabla" nor "MycustomeFault" are printed out in log
file of ODE. And WHY?- I want to modify the header of the "mex", but it doesn't
seem right. Please give me some advices to throw out a message of my own.
Thank you very much