=== Service Defination ===========
<service name="TestMapService" provider="java:RPC">
<parameter name="allowedMethods" value="*" />
<parameter name="className" value="my.TestMapService" />
</service>
=== Service method ====
public Map testMap(Map context) {
System.out.print("Map context : " + context, "");
Map results = new HashMap();
results.put("responseMessage", "Hello Map");
return results;
}
=== Client ===
Map context = new HashMap();
Object result = call.invoke(new Object[] {context});
==============
When the client call service, The service can print Map object to console.
But client can not get Map object returned from service.
There is a error like this:
[java] org.xml.sax.SAXException: No deserializer for {
http://schemas.xmlsoap.org/soap/encoding/}string
[java] at
org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImpl.java:453)
[java] at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
[java] at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
[java] at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
[java] at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
[java] at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
[java] at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
[java] at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
[java] at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
[java] at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
[java] at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
[java] at org.apache.axis.client.Call.invoke(Call.java:2467)
[java] at org.apache.axis.client.Call.invoke(Call.java:2366)
[java] at org.apache.axis.client.Call.invoke(Call.java:1812)
Can any one help me?
Thank you