You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by ge...@ws.apache.org on 2005/01/11 10:06:22 UTC

[Apache Web Services Wiki] New: FrontPage/Axis/DotNetInteropMapInfo

   Date: 2005-01-11T01:06:22
   Editor: ToshiyukiKimura
   Wiki: Apache Web Services Wiki
   Page: FrontPage/Axis/DotNetInteropMapInfo
   URL: http://wiki.apache.org/ws/FrontPage/Axis/DotNetInteropMapInfo

   Importing old wiki ...

New Page:

##language:en
'''Q: Can you provide a recommendation of how to transport a java.util.Map to C#?'''

A: The easiest solution is to implement a typed array with a {{{JavaBean}}}.

{{{ 
   public class MapEntryVO { 
     private Object  key; 
     private Object  value; 

     public MapEntryVO() { 
     } 

     public MapEntryVO(Object key, Object value) { 
       this.key   = key; 
       this.value = value; 
     } 

     public Object getKey() { 
       return key; 
     } 
     public void setKey(Object value) { 
       key = value; 
     } 

     public Object getValue() { 
       return value; 
     } 
     public void setValue(Object value) { 
       this.value = value; 
     } 
   } 
}}}

--------------------------------------------------------------------------------

{{{
  import java.util.*;  

   public class WebServicesUtils { 
     public static MapEntryVO[] convertMapToMapEntryVO(Map conv) { 
       MapEntryVO[] result = new MapEntryVO[conv.size()]; 
       int i = 0; 
       Iterator iter = conv.entrySet().iterator(); 

       while (iter.hasNext()) { 
         Map.Entry item = (Map.Entry) iter.next(); 
         result[i++] = new MapEntryVO(item.getKey(),item.getValue()); 
       } 

       return result; 
     } 
   } 
}}}

--------------------------------------------------------------------------------

{{{
  // Example WebService  
   public class TestService { 
      public MapEntryVO[] testMethod() { 
        java.util.Map value = new java.util.HashMap(); 

        value.put("Key 1","Value 1"); 
        value.put("Key 2","Value 2"); 

        return WebServicesUtils.convertMapToMapEntryVO(value); 
      } 
   }
}}}