Hi,
If you only want the interceptors working between external client and
your consumer endpoint in smx container, I don't think you could use
MessageListener , since MessageListener is invoked when endpoint get
MessageExchange from NMR.
But what you want is the consumer endpoint receive request from external
client and then before the MessageExchange send to the NMR, you need
the interceptors working at this time, IMO, you can use
servicemix-cxf-bc and configure cxf style interceptors for cxf bc
consumer to archieve this.
Freeman
newmax wrote:
We have a bunch of services implemented using http component deployed on
servicemix. For the sake of simplicity, lets say 5. Currently, we have
identified 3 out of 5 services to be audited/intercepted i.e. intercept
every request and response messages exchanged between client and server for
these service. I have looked into the option of MessageListener that
intercepts every message in NMR. The problem with this approach is that all
the messges, including the ones that are sent from one component to another
within a service, are intercepted and the number of messages intercepted is
huge. I am looking for a way messages that could intercept message exchanged
between client and servicemix container only, rather than the messages
exchanged within a container and NMR. Following are the attributes, among
others, I wish to capture:
1) Correlation Id
2) Host Name/address
3) Server Name/Address
4) Service Name
Also, there needs to a mechanism to add and remove service from the list of
audited services at runtime. The identified component must support JMX.
My questions are:
1) Can this be achieved by using any capabilities available in ServiceMix
2) Am I better off using some other tool. If yes, could suggest some
Truly appreciate your help!
--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com