报错信息:
org.xml.sax.SAXException: No deserializer for {http://schemas.xmlsoap.org/soap/encoding/}string
at org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImpl.java:453)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
源码:
Service service = new Service ();
Call call = (Call) service.createCall ();
call.setTargetEndpointAddress(new java.net.URL(“http://172.16.215.18:8081/wf_cas/services/SessionService”));
call.setOperation(“getHelloWord”);
Map<String,String> returnParamMap = null;
HashMap paramMap=new HashMap();
paramMap.put(“name”,”托尔斯泰”);
returnParamMap = (Map<String,String>)call.invoke(new Object[] {paramMap});
System.out.println(returnParamMap.get(“returnMap”));
解决方法:
修改 call.setOperation(“getHelloWord”); 为 call.setOperationName(“getHelloWord”);