Right now our architecture allows someone to directly set the "serviceHandler" in a 
MessageContext to be any Handler.  However, even if you use the "handler" provider in 
WSDD, the specified Handler gets wrapped in a SOAPService (i.e. becomes the provider 
handler in the SOAPService), so in practice unless you get really deep into the API 
yourself, you're always going to have a SOAPService as the serviceHandler.

I'd like to make this explicit in the API, by making setService() (formerly 
setServiceHandler) in the MessageContext take a SOAPService argument.

The reason for this is that there are several pieces of runtime metadata associated 
with a service which it would be nice to have in ALL cases, such as type mappings and 
service "style" (document or RPC).  I'm currently working on adding 
<style>[document/rpc]</style> to WSDD, and having that do the right thing with WSDL 
generation, encoding, etc. and I'd like to avoid checking instanceof SOAPService all 
the time.

If anyone sees problems with this, please let me know.

--Glen

Reply via email to