随笔 - 119  文章 - 3173  trackbacks - 0
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

交友莫独酒,茅台西凤游。
口干古井贡,心徜洋河流。
称多情杜康,趟无量双沟。
赞中华巍巍,无此不销愁。

常用链接

留言簿(68)

随笔分类(136)

随笔档案(122)

最新随笔

搜索

  •  

积分与排名

  • 积分 - 520595
  • 排名 - 93

最新评论

UserInfo
 1 import java.util.ArrayList;
 2 
 3 public class UserInfo {
 4     private ArrayList list;
 5     
 6     private int id;
 7 
 8     private String name;
 9 
10     public int getId() {
11         return id;
12     }
13 
14     public void setId(int id) {
15         this.id = id;
16     }
17 
18     public String getName() {
19         return name;
20     }
21 
22     public void setName(String name) {
23         this.name = name;
24     }
25 
26     public ArrayList getList() {
27         return list;
28     }
29 
30     public void setList(ArrayList list) {
31         this.list = list;
32     }
33 }
34 

GetObject
 1 
 2 
 3 import java.util.ArrayList;
 4 import javax.jws.WebMethod;
 5 import javax.jws.WebService;
 6 import javax.jws.soap.SOAPBinding;
 7 
 8 @WebService(targetNamespace = "http://jdk.study.hermit.org/testobject")
 9 @SOAPBinding(style = SOAPBinding.Style.RPC)
10 public class GetObject {
11     @WebMethod
12     public UserInfo getUserInfo(String name) {
13         UserInfo user = new UserInfo();
14         ArrayList<String> list =new ArrayList<String>();
15         list.add("123");
16         list.add("456");
17         list.add("789");
18         user.setList(list);
19         user.setId(1);
20         user.setName(name);
21         return user;
22     }
23 
24 }


TestObject
 1 package test;
 2 
 3 import static org.junit.Assert.*;
 4 import org.hermit.study.jdk.testobject.GetObject;
 5 import org.hermit.study.jdk.testobject.GetObjectService;
 6 import org.hermit.study.jdk.testobject.UserInfo;
 7 import org.junit.Test;
 8 
 9 public class TestObject {
10     @Test
11     public void getObject() {
12         GetObjectService service = new GetObjectService();
13         GetObject obj = service.getGetObjectPort();
14         UserInfo user = obj.getUserInfo("hermit");
15         assertNotNull(user.getId());
16         assertNotNull(user.getList());
17         assertEquals(user.getList().size(),3);
18         assertEquals(user.getList().get(0),"123");
19         assertEquals(user.getList().get(1),"456");
20         assertEquals(user.getList().get(2),"789");
21         assertEquals("hermit", user.getName());
22     }
23 }

测试通过
可见对象内的list是可以传递过来的。。。。。。。。。
posted on 2007-01-31 14:13 交口称赞 阅读(2892) 评论(8)  编辑  收藏 所属分类: Java6

FeedBack:
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-01-31 14:27 交口称赞
也就是说我把集合对象放到一个自定义对象里面
就可以传递了
想不通  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-01-31 18:14 GoKu
直接传不行?
JAVA有没有序列化这么一说,.Net中DataSet都可以传  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-01-31 18:47 交口称赞
有序列化
但这个问题应该跟序列化没关系

好像直接传JAVA内置对象会出问题  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-02-01 03:12 cmd
谢谢你给了一个入门教程,按照你的方法List的确可以,我如法炮制Map,不行,不知道你有什么办法。  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-02-01 04:28 cmd
再提一个问题(当然有可能我的思路并不是ws的初衷)问题如下
1.入口参数你没有演示,我写了一些代码不爽,比如pojo作为入口参数
连个pojo之间的关联,例如用户和地址之间是1-n的关系那么就好比我们常用的hibernate,现在我使用spring+hibernate在做关联存储的service,我想把这个service通过ws公布出来,用jsr181来做是不是不大现实。
2.在你的demo的细节上我注意到了通过http://localhost:8080/HelloService?wsdl在客户端生成的类中的确有List的引用,但是找不到setter方法,也就是说只能从对象中读取,而不能够设置。
3.如果我有一个七八十项录入数据的一张表单传递给一个service,你看看应当如何来设计服务接口和pojo(java对象有级联)。

以上是我目前的疑问,希望你也能考虑考虑。  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-04-26 19:59 sdf
more commentar please  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-04-27 16:46 sdf
please:

eclipse中tomcat project和web project有什么区别?

thanks!!
if i want to write a WS with Java6+Tomcat, which one should i choise?  回复  更多评论
  
# re: 学习Java6(一) WebServices (6)传递List(变通方法实现) 2007-04-27 17:24 交口称赞
web project就可以了

tomcat project?
是不是你装的什么插件?我的没有好像  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: