Hello,
I have an undeployment (maybe re-deployment) problem: say I have deployed service abc with class c1, method m1, the signature of m1 is public String m1(String arg), it works perfectly. Now I undeploy the service abc, change the class name to c2, keep the method name m1, but change the signature of m1 to public Double m1(Double arg), then deploy service abc again. I do all these things without restarting tomcat. I got error message while calling m1:
org.xml.sax.SAXException: Bad types (double -> class java.lang.String)
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:285)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
rializationContextImpl.java:893)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
va:200)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
t.java:684)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:241)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
at org.apache.axis.client.Call.invoke(Call.java:1871)
at org.apache.axis.client.Call.invoke(Call.java:1777)
at org.apache.axis.client.Call.invoke(Call.java:1315)
If I re-start tomcat, the new deployed method works. It seems axis somehow cached method signature.
Do I miss anything here? Anyone has any thoughts?
Thanks.
Haixiao
