Hello Werner,

Refer to the JAX-RPC1.1 spec to see how to use a client handler in a portable way. I believe it goes something like this:

  sf = javax.xml.rpc.ServiceFactory.newInstance();
  SEIService si = (SEIService)sf.loadService(SEIService.class);

  // register client handler
  javax.xml.rpc.handler.HandlerRegistry hr = si.getHandlerRegistry();
  java.util.List hl = new java.util.ArrayList();
hl.add(new javax.xml.rpc.handler.HandlerInfo(YourHandler.class,null,null));
  hr.setHandlerChain(new QName("http://localhost/xxx/","yourPort";),hl);

  SEI sei = si.getSEIPort();

YourHandler should implement javax.xml.rpc.handler.Handler.
I don't know whether the LogHandler you are referring to is a JAX-RPC compliant one..

Hope that helps,
Dies


Jansen Werner wrote:
If you mean "selecting a subset among an already well-known set of available handlers", the answer is that it is easier :-)

You will have to create a handler that could act as a "handler chain", and put into it the logic to take the decision about what handlers to actually call when invoked. Depending on what you need, this handler will have the information needed to find out the handlers to call (for example, by parsing a policy), or you may have to include the mechanisms to communicate with it from the service implementations or other points, and configure it at runtime.

OK, this sounds like my problem.

For an example, let's take the LogHandler packaged with axis. How can I
add this (simple, easy) Handler to Axis at runtime? (And remove it later
...).

I have found a way to access the HandlerRegistry
(Service.getHandlerRegistry()). But - without deeper knowledge of the
HandlerChains available - how do I add my Handler (or the LogHandler
mentioned above)?

Just keep in mind that you need to respect the handlers interface, and call their methods in the appropriate order. That is, to initialise them before invoking them, and the like.

This is something I will concentrate on when I managed to add the
LogHandler provided by Axis :)

Ah, before I forget it again, our Axis version is 1.3 :)

Thanks in advance :)

CU
Werner


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to