专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > XML/SOAP

webservice怎么定义一个map,

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
webservice如何定义一个map,在线等,急
我用的是xfire开发的,用java做了一个简单的测试程序

先定义了一个接口,需要传入一个map
public interface MapService {
public String getMap(Map<String,String> map);
}


然后定义了一个实现类

public class MapServiceImp implements MapService {

public String getMap(Map<String,String> map) {

String str="";

Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry)it.next();
Object key = entry.getKey();
Object value = entry.getValue();  
str+="(key=" + key.toString() + ", value=" + value.toString()+"),";

}

str="["+str.substring(0,str.length()-1)+"]";

return str;

}
}


然后在aegis.xml里面就不知道怎么定义了
是这样定义的吗?我调试了好像不正确

<?xml version="1.0" encoding="UTF-8"?>  
<mappings>  
  <mapping >  
   
  <method name="getMap">  
  <parameter index="0" keyType="java.lang.String" componentType="java.lang.String"/>  
  </method>  
   
  </mapping >  
</mappings>  

jdk是1.6的

------解决方案--------------------
webservice是不能直接传输Map的,需要采用“曲线折中”的办法,这里的Map我觉得可以转换为一个JavaBean的数组,每个JavaBean里面一个存着键和值,JavaBean实现序列化接口就可以在webservice通过SOAP传输
接受方接收到的就是一个JavaBean的数组,如果是java调用,可以写个方法重新组装为Map
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: