I definitely appreciate the simplicity and elegance of AXIS handler chain model. But on the other hand, I also observe some limitations when trying to build a more sophisticated intermediary processing model on it. I would like to get a sense if other people hitting the same issues in their projects. Here are some of those limitations.

1) It assumes a "sequential processing model". I cannot have two handles (which deals with different parts of the SOAP header) execute in parallel.
2) It assumes a "static structure". The chain has to be pre-defined at design time. I cannot construct the chain at run time.
3) I can only pick a chain based on the service endpoint (hence service type). But I cannot pick a chain based on message content (e.g. skip the DSIGHandler if the purchase amount is less that 100 dollars)
4) It limits to three level of hierarchies (transport chain / global chain / service chain). I cannot have another service chain nested inside a service chain.
5) It assumes a "filter pattern". The handler cannot return a response to the client. (I found it is impossible to implement caching using AXIS handler, I have to write a different provider)

You don't feel these or maybe other pains ?

Rgds, Ricky

Reply via email to