Good information. Thanks Eoghan. In my case I will be setting the MessageId in the application layer and this is working great.
Just for my knowledge, where and by which interceptor method in the interceptor chain does the MessageId get generated? By your comment below, it must be in an interceptor in the PRE_LOGICAL phase? I am new to CXF. In the CXF documentation I see the ordered list of inbound and outbound Phases but I don't see which interceptors are in each phase and in what order. Is there a document that shows all of the interceptors running in each Phase and each interceptor's responsibility? Thanks, Jeff ________________________________ From: Eoghan Glynn [mailto:[email protected]] Sent: Wednesday, March 18, 2009 11:51 AM To: [email protected]; Constantin, Jeffrey (CCI-Atlanta) Cc: [email protected] Subject: Re: Tacking messages across several SOAP Request If using the WS-Addressing headers, just make sure you set this messageID in the AddressingProperties in the request context before the WS-A MAPAggregator interceptor is traversed. So no problem doing it in the application layer (as per the the ws_a demo). But if you're setting it in an interceptor, make sure this runs in a phase prior to PRE_LOGICAL, or use the PhaseInterceptor.addBefore() mechanism if running in the same phase. >From the point of view of ID uniqueness, CXF just fabricates a URN with the >unique material being provided by java.util.UUID.randomUUID(). Cheers, Eoghan 2009/3/18 <[email protected]<mailto:[email protected]>> Now I just have to determine when to set this MesssageID and how to ensure it is unique. More fun for me.
