You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Klaus Wolfmaier <kl...@scch.at> on 2002/04/25 14:05:51 UTC
Client Side Request/Response Handler
Hi all!
I am currently working of following scenario:
I have deployed a service to Axis beta1 (running on tomcat 3.3) that returns
a Long object. Additionally, I defined request and response handler on
server side that simply output a message to the console.
I used following wsdd file to deploy the service:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="TestRequest" type="java:TestRequestHandler"/>
<handler name="TestResponse" type="java:TestResponseHandler"/>
<service name="TestService" provider="java:RPC">
<parameter name="className" value="TestService"/>
<parameter name="methodName" value="*"/>
<requestFlow>
<handler type="TestRequest"/>
</requestFlow>
<responseFlow>
<handler type="TestResponse"/>
</responseFlow>
</service>
</deployment
So far this works fine. Additionally, I would like to call the same request
and response handlers on client side. For this, I created a
client-config.wsdd based on the above deployment file (used
org.apache.axis.utils.Admin client). When I now call the client progam, i
get a null pointer exception in the invoke method of the call object (See
stack trace). I simply put the client-config.wsdd file in the directory were
I start my test driver.
java.lang.NullPointerException:
at java.util.Hashtable.get(Hashtable.java:320)
at org.apache.axis.utils.cache.JavaClass.getMethod(Unknown Source)
at org.apache.axis.message.RPCElement.deserialize(Unknown Source)
at org.apache.axis.message.RPCElement.getParams(Unknown Source)
at org.apache.axis.client.Call.invoke(Unknown Source)
at org.apache.axis.client.Call.invoke(Unknown Source)
at org.apache.axis.client.Call.invoke(Unknown Source)
at TestDriverRemote.main(TestDriverRemote.java:41)
My code works fine, if i don't use the client-config.wsdd file. When I use
tcpmon to track the messages between client and server, I see a valid
response message sent back to the client.
The implementation of the request / response handlers only checks whether
the handler is called on client side or not ( msgContext.isClient() ) and
prints a respective console message. Later, I would like to do some
encryption and decryption in these handlers.
Has anybody experienced the same problems and found a solution?
Any help would by highly apprechiated!
regards
Klaus