Hi Toshi!
> Despite no ACK, I'd like to carry on a one-sided conversation. :-)
I hope you don't mind my stepping in - you seem to be doing just fine on your own
though... :)
> [Report of issues]
> 1) How can we recognize that which of the MU headers are
> bound for the runtime to do process ?
There is already a canHandleBlock() API that exists for just this purpose.
> 2) Without the execution of the registered JAX-RPC handlers,
> we never know whether all MU headers are processable, or not.
Actually, it's even worse than that. There doesn't seem to be a JAX-RPC API for
marking a header as processed... so if you're programming strictly in JAX-RPC, I don't
see how you can get this working at all.
That said, I think we should focus on getting the Axis mechanism for this as clean and
functional as possible, then take JAX-RPC issues up with the JAX-RPC group (I'm a
member, as is Russell Butek who used to work a lot on Axis).
> [Proposal]
> Abstract:
> In order to solve the above two issues, I'd like to propose
> an enhancement to the description rules for wsdd (Web Services
> Deployment Descriptor) of Axis.
>
> Detail:
> - Specify a new node "delegatedMUheader", to make clear
> the deployer's belief that which of the MU headers are
> bound for the runtime to do process
> - Specify a new node "responsibleMUheander", to make clear
> a chosen handler instance is responsible to the specified
> MU headers for processing
While this would work, I don't like the fact that it provides another place where
configuration and code can get out of sync. The code of a given Handler is the final
arbiter of which headers it can process and which ones it can't - so I think the code
should be responsible for filling in the engine's registry. This is why we have the
canHandleBlock() API, and that can be used (for Axis handlers) to do what we need.
For JAX-RPC handlers, I agree a separate mechanism is needed, and maybe we can do a
simplified version of what you suggest for JAX-RPC HandlerChains. But I don't think
this should be the default way of dealing with the problem.
--Glen