Thanks Jeff. Appreciate it. This is what I needed. I can figure the
server side out.

 

Sumit

 

________________________________

From: Walker, Jeff [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 22, 2007 8:40 AM
To: [email protected]
Subject: RE: Injecting Handlers into Axis 1.X at Runtime

 

Hi Sumit,

looks like I am the only respondent!

Yes, it can be done programmatically in Axis1.4.

Something like this is required:

 

private static void registerClientHandlers(PaGWebService_ServiceLocator
locator) {

try {

//======================================

//Register Clientside Handler

//======================================

javax.xml.namespace.QName portName = new
javax.xml.namespace.QName("sessions", "PaGWebService"); 

javax.xml.rpc.handler.HandlerRegistry hr = locator.getHandlerRegistry();

java.util.List handlerChain = hr.getHandlerChain(portName);

javax.xml.rpc.handler.HandlerInfo hInfo = new
javax.xml.rpc.handler.HandlerInfo();

hInfo.setHandlerClass(client.ClientSideHandler.class);

handlerChain.add(hInfo); 

}

catch (Exception e) {

System.out.println("Caught an exception when registering the clientside
handler: " + e.getMessage());

}

}

I pass in the locator reference, but I could have gotten it from:

PaGWebService_ServiceLocator locator = new
PaGWebService_ServiceLocator();

Obviously, you need to get the namespace correct and the location for
the handler class itself must be in the classpath for the project.

Also, I registered a JAX-RPC handler, not the Axis kind. My class
extends javax.xml.rpc.handler.GenericHandler.

The above code works on the client side. There must be a suitable
location to register the handler on the server side as well, just not
sure where.

Regards,

-jeff

________________________________

From: Shah, Sumit [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 21, 2007 4:08 PM
To: [email protected]
Subject: Injecting Handlers into Axis 1.X at Runtime

        Hello,

         

        I would like to inject a handler into Axis 1.4 at runtime
through java instead of configuring it in *.wsdd. 

        I am trying to find out if it's possible. If yes, how can I do
that?

         

        I would appreciate any response on this.

         

        Thanks

        Sumit

Reply via email to