WEB开发网
开发学院软件开发Java AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:... 阅读

AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:用 E4X 创建新的 Web 服务

 2010-03-09 00:00:00 来源:WEB开发网   
核心提示: 大多数情况下,XML 文档将从由测试客户端发出的 SOAP 消息中获取,AJAX 及使用 E4X 编写 Web 服务脚本,第 2 部分:用 E4X 创建新的 Web 服务(8),仅有的改变是使用 {country} 来嵌入国家代码参数,我们已经获取了股票值的代码了,并将之放到另一个中,正如上面提

大多数情况下,XML 文档将从由测试客户端发出的 SOAP 消息中获取。仅有的改变是使用 {country} 来嵌入国家代码参数。

我们已经获取了股票值的代码了。完整的脚本在文件 currencystock.wsdd 中(参看下载)。主方法如下所示:

function service(x) { 
  var symbol = x..*::Symbol[0].toString(); 
  var country = x..*::Country[0].toString(); 
  
  var currURL = getAndParseWSDL( 
   "http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl");  
  var stockURL = getAndParseWSDL( 
   "http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl");  
  
  var rate = getCurrencyValue(country, currURL); 
  var ticker = getStockQuote(symbol, stockURL); 
  
  var response = 
   <n:getQuoteResponse xmlns:n="urn:xmethods-delayed-quotes"> 
     <Result>{rate*ticker}</Result> 
   </n:getQuoteResponse> 
  return response; 
} 

如果您已经有了上面的 Axis 例子,您可以使用下面的命令进行简单的部署:

< java org.apache.axis.client.AdminClient -l "http://localhost:8080/axis/services/AdminService" currencystock.wsdd

客户端 currencystock.html 是 stockclient.html 的一个改进版本,它包含了国家代码。一旦您部署了该服务,那么就可以浏览已经部署的服务列表:

http://localhost:8080/axis

复制 WSDL 的 URL 到客户端浏览器中并点击 Update URL。现在您可以发出请求。客户端仍旧是异步的,但是服务器是同步的,您所请求的线程将阻塞直至它完成了 4 个独立的 HTTP 请求(两个 WSDL 查找和两个服务请求)。

结束语

在这两篇关于 E4X 与 Web 服务的文章中,我们讲述了大量的基础知识。首先,我们学习了如何使用 E4X 及一些简单的 XML 操作。然后我们讲述了使用 E4X 构建一个简单的浏览器接口,在 Mozilla 中的 XMLHttpRequest 支持用来发送 Web 服务请求及解析结果。我们使用这一模型来创建一个 AJAX 方式的客户端,它通过您输入的符号更新股票价格。

我们还讲述了服务器端,简单的 Axis 提供者,开始使用 E4X 创建一个新的 Web 服务。最后,我们将这些服务组合到一起来创建一个新的服务,它将货币与股票信息综合到一个服务中。

这篇文章中,我们自始至终关注于不同模型的 Web 服务。我们使用简单自然的 SOAP XML 或主体元素, 而不是使用 WSDL 和工具创建 stubs 或者服务的 skeletons。虽然这种方式并不象使用语言工具那样强大,例如 Java 和 C#,但是 E4X 是一个简单可行的选择。

当提到创建中间或编排服务时,从一个请求中提取信息或者 XML 元素,并将之放到另一个中。正如上面提到的代货币符号的股票例子,这一模型就变得非常的强大了。

本文示例源代码或素材下载

上一页  3 4 5 6 7 8 

Tags:AJAX 使用 EX

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