日期:2014-05-20  浏览次数:20800 次

xfire传递List或Map参数
1、接口方法:
public String addProjectsPlan(Map projects);

2、接口名.aegis.xml配置
<method name="addProjectsPlan">
<parameter index="0" componentType="simple.PlanProject" keyType="java.lang.String"/>
</method>

3、调用
PlanProject project = new PlanProject();
project.setProjectId("11111");
project.setProjectName("闽侯高岐220kV变电站110kV马保间隔扩建");
project.setYear("2012");
project.setMonth("5");
project.setDesignSection("可研阶段");
map.put("11111", project);

project = new PlanProject();
project.setProjectId("11112");
project.setProjectName("漳州和平220kV变电站工程估算修编");
project.setYear("2012");
project.setMonth("6");
project.setDesignSection("初设阶段");
map.put("11112", project);

调用接口方法:
service.addProjectsPlan(map);

为什么接收到的map只有一对“键值对”?????
------解决方案--------------------
你下面的重新new了一下当然值一个了
------解决方案--------------------
把下面那个project = new PlanProject();
去掉就可以了
------解决方案--------------------
引用:
你下面的重新new了一下当然值一个了


我上面已经加到map啦,下面当然重新new啦。。而且,我也试过声明project1,加到map,效果还是一样的
。我本地弄加了5个到map。最终都只有得到1个
------解决方案--------------------
引用:
把下面那个project = new PlanProject();
去掉就可以了


去掉 ,还是一样的。

客户端调用接口之前:{11112=simple.PlanProject@3a1ec6, 11114=simple.PlanProject@1ba6076, 11115=simple.PlanProject@1ba6076, 11111=simple.PlanProject@1ba6076, 11113=simple.PlanProject@1ba6076}

服务端收到的:{11112=simple.PlanProject@3a1ec6}