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());
- MapEntryVO[] result = new MapEntryVO[conv.size()]; int i = 0; Iterator iter = conv.entrySet().iterator(); while (iter.hasNext()) {
- public static MapEntryVO[] convertMapToMapEntryVO(Map conv) {
{{{ // 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);
- public MapEntryVO[] testMethod() {
- }}}