本章节将主要讲述如何用在门户站点中创建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){}
}
}