2011-07-27 234 views
0

我试图消耗它返回一个Java哈希映射中的网络服务,以下是该Axis Web服务客户端respnose的HashMap

 String endpoint = 
       "http://localhost:8080/eCWServices/StructSpeech/StructSpeech"; 

     Service service = new Service(); 
     Call call = (Call) service.createCall(); 
     call.setTargetEndpointAddress(new java.net.URL(endpoint)); 
     call.setOperationName(new QName("http://ejb.ecw.com/", "parseNotes")); 
     call.addParameter("notes", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN); 
     call.addParameter("apuId", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN); 
     call.addParameter("providerId", org.apache.axis.Constants.XSD_STRING, ParameterMode.IN); 
     call.setReturnType(XMLType.SOAP_MAP); 
     HashMap ret = (HashMap) call.invoke(new Object[]{"","",""}); 
     System.out.println("Sent 'Hello!', got '" + ret + "'"); 

返回的HashMap中总是空的代码,我觉得轴不支持它。谁能给我指点,我可以找到如何消费在JDK 1.4中返回一个HashMap中的服务?

回答

0

好的,通过它序列化到一个ByteArrayOutputStream返回一个字节[]解决它,我检索字节数组,将其转换回HashMap中在客户端。