Hi folks,
I've been trying to get a client handler chain working but the
handler is never called:
nameSpace comes from <wsdl:definitions targetNamespace="http://
test.ac.uk/services/RemoteEngineService">
The registry.getHandlerChain uses "EngineService" from:
<wsdl:service name="EngineService">
<wsdl:port binding="impl:EngineServiceSoapBinding"
name="EngineService">
<wsdlsoap:address location="http://test.ac.uk/services/
RemoteEngineService"/>
</wsdl:port>
</wsdl:service>
Service service = ServiceFactory.newInstance().createService(new QName
(nameSpace, "Dummy"));
HandlerRegistry registry = service.getHandlerRegistry();
List handlers = registry.getHandlerChain(new QName("nameSpace",
"EngineService"));
HandlerInfo newHandler = new HandlerInfo();
newHandler.setHandlerClass(MyHandler.class);
handlers.add(newHandler);
Call call = service.createCall();
call.setTargetEndpointAddress("http://test.ac.uk/services/
RemoteEngineService");
call.setOperationName(new QName(nameSpace, "doSomething"));
call.addParameter("id", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
String res = (String)call.invoke(new Object[] {"SOME_DATA"});
MyHandler extends GenericHandler. The Axis handlers for the remote
service are working fine. It's the client handlers that I can't seem
to invoke.
is there something I'm missing?
thanks,
Alistair