DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用程序中集成来自不同数据源的数据
2009-11-11 00:00:00 来源:WEB开发网因为应用服务器仅仅创建 SOAP 包装器并执行一个 URL 调用,所以如果 AJAX 的安全限制允许的话,也可以从客户机直接执行 SOAP 调用。尽管在 Web 客户机中使用 SOAP 驱动程序直接调用数据库是可能的,但是由于安全原因这种方式并不合适,应该改进 SOAP 驱动程序来防止这种做法。
getHotelRates 存储过程接受一个 XML 参数,其中包含 OTA 请求。XQuery 从输入的 XML 中提取出 HotelCityCode,并用它搜索和列出包含匹配的 HotelCityCode 属性的所有旅馆。
清单 10. getHotelRates 存储过程CREATE PROCEDURE getHotelRates( IN request XML )
DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE c_cur CURSOR WITH RETURN FOR
Select XMLQuery('declare namespace ns1 = "http://www.opentravel.org/OTA/2003/05";
$info//ns1:HotelDescriptiveContents' passing info as "info")
from hotel
where xmlexists('declare namespace ns1 = "http://www.opentravel.org/OTA/2003/05";
$info//ns1:HotelDescriptiveContents[@HotelCityCode=$req//ns1:HotelRef/@HotelCityCode]'
passing request as "req", info as "info" );
OPEN c_cur;
END
然后,将从 db2soapdriver 返回给应用服务器的 SOAP 响应发送回客户机,而不做任何修改。这再次说明,在 XML 模型编程方式中,数据库成了重要的参与者,而且在许多情况下应用服务器仅仅作为交换信息的中介。
当客户机从应用服务器接收到响应时,它调用 getRatescallback。使用 DOM 解析器解析返回的 SOAP 响应。DOM 解析器会处理 SOAP 响应中的名称空间。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››XML 转成 数组对象
- ››XML注意的转义字符
- ››xml文件正确性验证类实现
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
更多精彩
赞助商链接