Hello,
I have implemented a Axis WS client that has to send some common information in the SOAP Header (security etc).
For this I have implemented BasicHandlers.
However, my client has to load a slightly different version of these Handlers based on the information passed from my application itself.
Since the calling application is multi-threaded, using the client-config.wsdd is not an option (Let me know if this is doable).
I have tried several programmatic ways..such as this
HandlderRegistry.getHandlerChain.add(HandlerInfo (myHandler.class)) <-- Dont take this literally
But it fails to invoke my BasicHandler, I think because the above stuff is jaxrpc. It does initialize the class though (constructo, but fails to invoke
Here is the error. I will keep looking, but I appreciate any help. Because there has to be a way to do this.
AxisFault
faultCode: {
http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: javax.xml.rpc.JAXRPCException: Unable to create handler of type class com.telcordia.asmsain.hs.common.m2m.handler.Ain_WsGeniDigCert
faultActor:
faultNode:
faultDetail:
{
http://xml.apache.org/axis/}stackTrace:javax.xml.rpc.JAXRPCException: Unable to create handler of type class com.telcordia.asmsain.hs.common.m2m.handler.Ain_WsGeniDigCert
at org.apache.axis.handlers.HandlerChainImpl.newHandler(HandlerChainImpl.java:247)
at org.apache.axis.handlers.HandlerChainImpl.<init>(HandlerChainImpl.java:77)
at org.apache.axis.handlers.HandlerInfoChainFactory.createHandlerChain(HandlerInfoChainFactory.java:42)
at org.apache.axis.client.AxisClient.getJAXRPChandlerChain(AxisClient.java:274)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:140)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)