本章节将主要讲述如何用在门户站点中创建 WebService 客户端,调用我们上节创建的 WebService ,从而实现将用户数据传输到 MySql 数据库中。
开发工具: MyEclipse 8.5 ;
部署环境: TomCat 6.0 。
用户表结构:
CREATE TABLE HBRFHJC.SYSTEM_USERS ( USER_ID VARCHAR2(30) NOT NULL, USER_NAME VARCHAR2(30) NOT NULL, REAL_NAME VARCHAR2(20) NOT NULL, PASSWORD VARCHAR2(50) NOT NULL, EMAIL VARCHAR2(50), CONSTRAINT PK_SYSTEM_USERS PRIMARY KEY (USER_ID) ) / COMMENT ON TABLE HBRFHJC.SYSTEM_USERS IS '用户基本信息表' / COMMENT ON COLUMN HBRFHJC.SYSTEM_USERS.USER_ID IS '用户编号' / COMMENT ON COLUMN HBRFHJC.SYSTEM_USERS.USER_NAME IS '用户登录名称' / COMMENT ON COLUMN HBRFHJC.SYSTEM_USERS.REAL_NAME IS '真实姓名' / COMMENT ON COLUMN HBRFHJC.SYSTEM_USERS.PASSWORD IS '密码' / COMMENT ON COLUMN HBRFHJC.SYSTEM_USERS.EMAIL IS 'EMAIL地址' /
1. 新建 Web Service Client
点击“
Finish
”按钮,将自动生成下图中的两个类文件。
2. 编写用户信息同步代码
/** * 保存用户信息 * @param user */ public void save(Users user) { Connection con = null; Statement stat = null; try { //先将用户资料保存到Oracle数据库中 String strSql = "INSERT INTO SYSTEM_USERS (USER_ID,USER_NAME,REAL_NAME,PASSWORD,EMAIL) VALUES ('" + user.getUserName() + "','" + user.getUserName() + "','" + user.getRealName() + "','" + user.getPassword() + "','" + user.getEmail() + "')"; con = DataBaseFactory.getConnection(); stat = con.createStatement(); int i = stat.executeUpdate(strSql); if(i == 1) { //调用WebService服务,将用户资料同步到MySql数据库总 System.out.println("保存新用户信息成功!"); System.out.println("调用论坛同步接口服务,同步用户数据..."); UserSyncSoapClient client = new UserSyncSoapClient(); UserSyncSoap service = client.getUserSyncSoapSOAP(); String strResult = service.syncSaveUser(user.getUserName(), user.getPassword(), user.getEmail()); if(strResult.equals("success")) { System.out.println("用户数据同步成功!"); } else { System.out.println("用户数据同步失败!错误信息为:" + strResult); } System.out.println("调用论坛同步接口服务结束。"); } else { System.out.println("保存新用户信息失败!"); } } catch(SQLException ex){ ex.printStackTrace(); } finally{ try{ stat.close(); } catch(SQLException e){} try{ con.close(); } catch(SQLException e){} } }