2011-07-27 36 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中在客戶端。