I would suggest trying to put handler in explicitly,
<service name="MsgSessionCounterService"
provider="java:MSG">
<!-- Declare flows -->
<requestFlow>
<handler
"java:org.jh.handlers.SessionHandler"/>
</requestFlow>
<responseFlow>
<handler
"java:org.jh.handlers.SessionHandler"/>
</responseFlow>
</service>
Try chaning the actual client-config.wsdd in axis.jar
used by your client and re-jar axis.jar
--- Jim Harris <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm hoping someone can help me with this problem
> which I has caused me
> sleepless nights over the weekend!!!
>
> I have a client program accessing a Web service with
> a handler being invoked
> on the service- and client-side in between. Infact,
> my handler is based on
> the SimpleSessionHandler from the Axis distribution
> so is fairly simple at
> the moment. I can see from my logs that the handler
> is being invoked on the
> service-side but there seems to be no invokation
> whatsoever on the
> client-side.
>
> I am not exactly sure what the problem is but as
> there is little
> documentation on using client-side handlers I am
> hoping one of you kind
> people can point out where my code may be wrong...
> Below is the client code
> that sets up the engine, service and call, and also
> the client-config.wsdd
> that is used:
>
> // Set up client Axis engine configuration
> EngineConfiguration clientConfig = new
> FileProvider(clientConfigFile);
>
> // Create a new service instance
> service = new Service(clientConfig);
> service.setEngine(new AxisClient(clientConfig));
>
> call = (Call) service.createCall();
> call.setTargetEndpointAddress(new URL(endpointURL));
>
>
///////////////////////////////////////////////////////////
>
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment name="defaultClientConfig"
> xmlns="http://xml.apache.org/axis/wsdd/"
>
>
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <transport name="http"
>
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> <transport name="local"
>
pivot="java:org.apache.axis.transport.local.LocalSender"/>
> <transport name="java"
>
pivot="java:org.apache.axis.transport.java.JavaSender"/>
> <!-- Declare handlers for use elsewhere in
> this file -->
> <handler name="SessionHandler"
> type="java:org.jh.handlers.SessionHandler"/>
> <!-- Declare services -->
> <service name="MsgSessionCounterService"
> provider="java:MSG">
> <!-- Declare flows -->
> <requestFlow>
> <handler type="SessionHandler"/>
> </requestFlow>
> <responseFlow>
> <handler type="SessionHandler"/>
> </responseFlow>
> </service>
> </deployment>
>
> Everything seems to run ok without any exceptions
> being thrown and my
> service responds correctly - the problem is just
> that the handler is never
> invoked on the client-side.
>
> Thanks in advance for any help.
>
> Jim
>
>
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com