WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 3 部分: 客户机中的 XML 编程 阅读

DB2 XML 编程,第 3 部分: 客户机中的 XML 编程

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 计算购买的商品的保险费率用户从一个包含所有保险公司名称的下拉列表中选择一家保险公司,保险公司提供一个 Web 服务,DB2 XML 编程,第 3 部分: 客户机中的 XML 编程(7),可以查询这个服务来获得当前的保险费率,费率信息以 XML 文档的形式提供, 应用服务器 Java 代码 使用

计算购买的商品的保险费率

用户从一个包含所有保险公司名称的下拉列表中选择一家保险公司。保险公司提供一个 Web 服务,可以查询这个服务来获得当前的保险费率。费率信息以 XML 文档的形式提供,应用程序使用此信息计算每种商品的保险费。

客户机 JavaScript 代码

还从列表中选择保险公司提供的 Web 服务的 URL。因为 Ajax 不允许 URL 重定向,所以需要从应用服务器调用 Web 服务。将 URL 放在请求中传递给应用服务器,请求计算购买的每种商品的保险费。清单 9 演示这个过程:


清单 9. 客户机选择 URL
        function itemsPurchased(url,cid) 
{ 
var msg='<request cmd="getPurchaseInfoWithInsurance"><data customerid="cid"> 
<![CDATA['+ url+']]></data></request>'; 
 
var xmlhttpObj= new XMLHttpRequest(); 
xmlhttpObj.open('POST', hostname, true); 
xmlhttpObj.onreadystatechange = function() { temsPurchasedCallback (xmlhttpObj); }; 
xmlhttpObj.setRequestHeader('content-type', 'text/xml'); 
xmlhttpObj.send(msg); 
} 
} 

注意:因为 URL 可能包含特殊字符,所以我们把它嵌入在 CDATA 部分中,以避免请求 XML 变得怪异。

应用服务器 Java 代码

使用 DOM 包装器解析请求消息并从其中提取出保险服务 URL。清单 10 演示应用服务器如何使用这个 URL 调用保险公司的 Web 服务,获取包含保险费率的 XML 文档。


清单 10. 应用服务器获取保险费率
        else if(cmd.equalsIgnoreCase("getPurchaseInfoWithInsurance")) 
{ 
XMLParse dataxml=new XMLParse(msgtext); 
String url= dataxml.toString("/data/text()"); 
String insurancestr=callWebServiceUsingHTTPClient(url); 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:DB XML 编程

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