异步JAX-WS Web服务客户端方案
本文通过IDE开发采用异步方式使用实时Web服务JAX-WS Web服务客户端……
本文向您介绍了通过 IDE 开发采用异步方式使用实时 Web 服务的 JAX-WS Web 服务客户端的相关基础知识。这种实时 Web 服务是指 eSynaps Web 服务搜索服务。它将返回指向 Web 服务的 URL,其中,该服务包含了给定的搜索字符串。例如,如果您将字符串 "weather" 发送到 Web 服务,则会返回有关提供天气信息的 Web 服务 URL 的列表。在本文中,我们将使用 Java SE 应用程序中的一个简单 Java 类作为客户端。
异步 Web 服务客户端通过“轮询”或“回调”方法来使用 Web 服务。在“轮询”方法中,您将调用一个 Web 服务方法并反复请求结果。轮询是一种阻止操作,因为它会阻止调用线程,所以这就是不在 GUI 应用程序中使用它的原因。在“回调”方法中,您在 Web 服务方法调用期间传递回调处理程序。当结果有效时,将调用该处理程序的 handleResponse() 方法。这种方法适用于 GUI 应用程序,因为您不必等待响应。例如,从 GUI 事件处理程序发出调用并立即返回控制权,这样用户界面就可以随时保持响应了。轮询方法的缺点是,即使是在捕获后使用响应,也必须对其进行轮询来查明已将其捕获。因此,我们将使用回调方法,在响应返回之前,这种方法始终保持正常状态。处理程序随后会接收响应,并对其进行处理。在我们的方案中,将使用这种方法来处理 Web 服务找到的 URL。首先,我们将解析这些 URL 以删除 XML 标记,然后在 JTextArea 中显示它们。
当我们建立了一个工作应用程序后,需要将其迁移到 NetBeans 平台中,这样我们就可以继承 NetBeans 平台的模块化体系结构并且可以在 IDE 中开发功能丰富的客户端应用程序的 GUI 功能。
安装和配置工作环境
安装 NetBeans 5.5 并运行 IDE。由于本方案是在 Java SE 项目中使用 Web 服务客户端,因此您无需安装 Sun Java System Application Server 9.0。
创建 Java SE 应用程序和 Web 服务客户端
- 要创建 Web 服务客户端,首先需要 Java SE 应用程序、EJB 模块或 Web 模块。在此,我们将使用 Java SE 应用程序。
- 选择“文件”>“新建项目”(Ctrl-Shift-N)。从“常规”类别中,选择“Java 应用程序”。单击“下一步”。
- 将项目命名为 AsyncWSClient。取消选中“创建主类”复选框。单击“完成”。
- 在“项目”窗口中,右键单击 "AsyncWSClient" 项目节点,然后选择“新建”>“文件/文件夹”(Ctrl-N)。在“新建文件”向导中,从“类别”列表中选择“Web 服务”,然后从“文件类型”列表中选择“Web 服务客户端”。单击“下一步”。
- 选择 "WSDL URL",然后键入或粘贴以下 WSDL URL:
http://www.esynaps.com/WebServices/SearchWS.asmx?WSDL - 在“包”中键入 org.me.wsc。单击“完成”。
将在“项目”窗口的“Web 服务引用”节点下显示新的 Web 服务客户端:

- 右键单击 "SearchWS",然后选择“编辑 Web 服务属性”。将显示编辑 Web 服务属性编辑器。
- 在该编辑器中,展开 "Search"。选中“启用异步客户端”复选框,如下所示:
- 本文关键词:


