WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用... 阅读

DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用程序中集成来自不同数据源的数据

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 应用服务器解析收到的消息并从其中提取出客户 ID,然后,DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用程序中集成来自不同数据源的数据(10),调用本地数据库,从 customers 表中获取信用卡信息和客户个人信息,应用服务器创建一个 SOAP 调用,调用在部门内部防火墙

应用服务器解析收到的消息并从其中提取出客户 ID。然后,调用本地数据库,从 customers 表中获取信用卡信息和客户个人信息。

注意:信用卡信息存储在 customers 表的一个加密列中。尽管在这个示例中密码是硬编码的,但是在真实的场景中密码可能是客户用来登录的密码。


清单 14. 应用服务器向数据库查询加密的信用卡信息
XMLParse msgxml=new XMLParse(msg); 
String userid=msgxml.getValue("//username/text()"); 
Connection conn= DriverManager.getConnection("jdbc:db2:article4"); 
Statement stmt = conn.createStatement(); 
stmt.setMaxRows(1); 
ResultSet rs= stmt.executeQuery("select info, 
decrypt_char(CC,'password') from customers where custid='"+userid+"'"); 
if(rs.next ()) 
{ 
String custinfo=rs.getString(1); 
String CCInfo=rs.getString(2); 

接下来,应用服务器创建一个 SOAP 调用,调用在部门内部防火墙后面运行 article4 数据库中的 bookaroom 存储过程。旅馆 ID 和客户个人信息作为参数传递给这个存储过程。


清单 15. 应用服务器对 bookaroom 存储过程执行一个 SOAP 调用
String hotelid=msgxml.getValue("//hotelid/text()"); 
String body="<db:bookaroom xmlns:db='http://ibm.com/db2/soap'>"+ 
"<db:arg>"+hotelid+"</db:arg>"+ 
"<db:arg>"+custinfo+"</db:arg>"+ 
"<db:arg></db:arg>"+ 
"</db:bookaroom>"; 
String soapstr=sendURLMessage("http://localhost:8080/article4/db2soapdriver", 
body,"http://ibm.com/db2/soap#article4"); 

上一页  5 6 7 8 9 10 

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接