需求:客户端传一个javaBean,服务端返回集合类型。
1. 在helloWorld的基础上添加 User 实体类:
package com.wh.entity; public class User { private Integer id; private String userName; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
2. 在helloWorld的基础上添加 Role 实体类:
package com.wh.entity; public class Role { private Integer id; private String roleName; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } public Role(Integer id, String roleName) { super(); this.id = id; this.roleName = roleName; } public Role() { super(); } }
3. 在HelloWorld上添加 接口方法 getRoleByUser,通过用户查找角色:
package com.wh.webservice; import java.util.List; import javax.jws.WebService; import com.wh.entity.Role; import com.wh.entity.User; @WebService public interface HelloWorld { public String say(String str); public List<Role> getRoleByUser(User user); }
3. 在HelloWorldImpl上添加 getRoleByUser方法的具体实现(制造数据):
package com.wh.webservice.impl; import java.util.ArrayList; import java.util.List; import javax.jws.WebService; import javax.management.relation.RoleResult; import com.wh.entity.Role; import com.wh.entity.User; import com.wh.webservice.HelloWorld; @WebService public class HelloWorldImpl implements HelloWorld { public String say(String str) { return "Hello" + str; } public List<Role> getRoleByUser(User user) { List<Role> roleList =new ArrayList<Role>(); if(user!=null){ if(user.getUserName().equals("wh") && user.getPassword().equals("111")){ roleList.add(new Role(1,"CEO")); roleList.add(new Role(2,"机构师")); }else if(user.getUserName().equals("ww") && user.getPassword().equals("111")){ roleList.add(new Role(3,"项目经理")); } return roleList; }else { return null; } } }
好了,服务端就ok了。
4. 客户端,继续用wsdl2java工具重新生成代码:
5. 编写 Client.java:
package com.wh.webservice; import java.util.List; public class Client { public static void main(String[] args) { HelloWorldService service=new HelloWorldService(); HelloWorld helloWorld=service.getHelloWorldPort(); User user=new User(); user.setUserName("wh"); user.setPassword("111"); List<Role> roleList=helloWorld.getRoleByUser(user); for(Role role:roleList){ System.out.println(role.getId()+","+role.getRoleName()); } } }
6. 查看运行结果: