Webservice_23_SOAP的基于契约优先开发用户管理_实现客户端
来源:互联网 发布:php点击按钮执行函数 编辑:程序博客网 时间:2024/04/29 12:59
非常感谢孙浩老师。
先添加UserDaoImpl.java
package cn.lichen.dao;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;import cn.lichen.entity.User;public class UserDaoImpl {private static Map<String, User> users = new HashMap<String, User>();private static UserDaoImpl usedao;public UserDaoImpl() {users.put("admin", new User("admin", "管理员", "123"));}public static UserDaoImpl newInstance() {if (usedao == null)usedao = new UserDaoImpl();return usedao;}public void add(User user) {users.put(user.getUsername(), user);}public void delete(String username) {users.remove(username);}public User login(String username, String passwrod) {User user = users.get(username);return user;}public List<User> list() {Set<String> keys = users.keySet();List<User> list = new ArrayList<User>();for (String key : keys) {list.add(users.get(key));}return list;}}
修改接口实现类MyServiceImpl:
package cn.lichen.service;import java.util.List;@WebService(endpointInterface = "cn.lichen.service.IMyService", wsdlLocation = "META-INF/wsdl/user.wsdl", portName = "UserServicePort", serviceName = "UserService", targetNamespace = "http://service.lichen.cn")public class MyServiceImpl implements IMyService {private UserDaoImpl userdao = UserDaoImpl.newInstance();@Overridepublic void add(User user) {userdao.add(user);}@Overridepublic void delete(String username) {userdao.delete(username);}@Overridepublic User login(String username, String passwrod) {return userdao.login(username, passwrod);}@Overridepublic List<User> list() {return userdao.list();}}
客户端测试方法:
package cn.lichen.test;import java.util.List;import org.junit.Before;import org.junit.Test;import cn.lichen.service.IMyService;import cn.lichen.service.User;import cn.lichen.service.UserService;public class TestClient {private UserService userService = null;private IMyService service = null;@Beforepublic void init(){userService = new UserService();service = userService.getUserServicePort();}@Testpublic void testList(){List<User> users = service.list();for(User u:users){System.out.println(u.getNickname());}}@Testpublic void testAdd(){User user = new User();user.setUsername("lisi");user.setNickname("李四");user.setPasswrod("123");service.add(user);}@Testpublic void testLogin(){System.out.println(service.login("lisi", "123").getNickname());}@Testpublic void testDelete(){service.delete("lisi");}}
- Webservice_23_SOAP的基于契约优先开发用户管理_实现客户端
- Webservice_23_SOAP的基于契约优先开发用户管理_添加异常
- Webservice_21_SOAP的基于契约优先开发用户管理_实现Wsdl
- Webservice_25_SOAP的基于契约优先开发用户管理_实现Jsp页面功能
- Webservice_24_SOAP的基于契约优先开发用户管理_部署到Tomcat
- Webservice_26_SOAP的基于契约优先开发用户管理_通过Hander加入控制信息
- webservice24--基于契约优先开发用户管理小功能--实现wsdl
- webservice25--基于契约优先开发用户管理小功能--异常处理
- webservice26--基于契约优先开发用户管理小功能--部署在Tomcat
- soap基于契约优先WSDL的开发
- webservice基于契约优先开发
- CXF契约优先开发方式之客户端实现(client)
- Webservice_19_SOAP的基于契约优先WSDL的开发流程
- CXF Spring 基于契约优先开发
- 一个简单的模拟用户名是否存在的基于契约优先WSDL的webservice开发实例
- 第二章(契约 实现一个双向契约的客户端部分)
- Webservice_20_SOAP的基于契约优先头信息处理(隐式头信息)
- CXF契约优先开发方式
- String 和StringBuffer,StringBuilder的区别
- 关于一些无法被代替的宏定义函数
- Qt 窗体布局
- UVA 11168 - Airport 凸包
- 思维方式之设计模式
- Webservice_23_SOAP的基于契约优先开发用户管理_实现客户端
- CSS position
- 数据结构之堆
- 成员在类中的偏移量 & 类成员指针
- Button事件的处理方式
- hdu4452
- 《Maven实战》阅读笔记整理(二)
- 巴斯卡三角
- DTS高管Roy Law:智能手机是重点发展方向