用 JAX-RPC 构建 RPC 服务和客户机(下)
2010-04-06 00:00:00 来源:WEB开发网与设置端点和操作的代码一样,这里的代码也很简单,但是它会完成许多操作:
Call 实例查找请求要发送到的 URL 端点。
Call 实例查找要调用的操作。
使用目标端点和操作名以及您提供的参数,构造一个新的 SOAP 请求。这个请求采用 XML 格式。
把 XML 格式的 SOAP 请求发送给 Web 服务。
Web 服务用一个 XML 格式的响应来回复这个请求。
把生成的 XML 转换为 Java 对象(在这里是一个对象数组)并返回给程序。
当然,程序员只需调用 invoke() 方法即可。
现在,程序完成了,重新编译它并确保 Web 服务和 servlet 引擎正在运行。然后,运行客户机程序;应该会得到与清单 25 相似的结果:
清单 25. 运行 BookSearcher Web 服务客户机程序
[bdm0509:~/Documents/developerworks/jax-rpc] java BookSearcherClient design
Returned books for keyword 'design':
Emotional Design
Indexed
这个结果没有多少新奇的地方;实际上,它与 清单 7 中测试程序的结果(清单 8)非常接近。主要的区别并不 明显:所有请求和响应都使用 SOAP、XML 格式和 RPC 模型。您只需编写非常简单明了的 Java 代码。
结束语
利用本教程的最佳方法是把学到的知识应用于自己要解决的问题。教程中的示例都是虚构的,只用来解释关键的概念。您应该选择一个问题并应用 JAX-RPC 来解决它。您可以构建一个基于 RPC 的服务,用它响应来自 Web 页面的 Ajax 请求。Java 程序中可以通过从服务器获取信息受益,并且 RPC 是响应 Java 程序请求的好方法。还可以把使用 SOAP 的现有代码改为使用 JAX-RPC。在一两个真实的应用程序中应用 JAX-RPC,无论什么应用程序。您肯定会遇到本教程没有详细讨论的问题,在解决这些问题的过程中,您会巩固在这里学到的知识。
JAX- RPC(以及一些最出色的 Web 服务工具集和 API)的优点之一是,API 非常宽松。换句话说,JAX-RPC 并没有对发送或接收的数据施加太多限制。只要使用与语言相关的格式并正确地设置客户机和服务器,JAX-RPC 就能够发挥作用。这大大减少了对编程的干扰;您只需设置好 JAX-RPC 组件,然后就可以编写自己的业务逻辑、应用程序逻辑等等。不必担心 JAX-RPC 会影响您的代码。
由于这些原因,JAX-RPC 是很不错的 Web 服务技术。它使我们能够对特定类型的服务器端程序进行特定类型的调用。如果需要特定的客户机-服务器关系,就使用 JAX-RPC。如果不需要,就不使用。换句话说,您可以自由地决定是否使用 JAX-RPC;与此相反,选择 Java 作为编程语言或选择 Eclipse 作为开发环境,就会丧失一定的自由度。您不必局限于 JAX-RPC,也不会被迫改变编程标准或实践。实际上,JAX-RPC 是实现 Web 服务和客户机-服务器交互的几种最佳技术之一。
因此,您应该用 JAX-RPC 构建几个程序,尽可能掌握 JAX-RPC 技术。当需要向部门、组织或公司外的消费者提供简单的 Web 服务时,JAX-RPC 是不错的选择。它符合 SOAP 和 WSDL 规范,大多数 Web 服务消费者都能够处理它。如果您要应付的局面没这么简单,可以选用其他技术,包括新的 JAX-WS。总之,多掌握一种工具,就多一种选择,更容易找到最适合您的 应用程序的解决方案。
本文示例源代码或素材下载
- ››构建Windows 8风格应用23-App Bar概述及使用规范
- ››构建域名服务器(DNS)
- ››构建Android平台Google Map应用
- ››构建WinForm 通用速选(全选、反选、清空)组件
- ››构建Wordpress网站首选的5家国外主机
- ››构建高性能和高弹性 WebSphere eXtreme Scale 应用...
- ››构建前端UI组件的新思路
- ››构建 Android 开发环境
- ››JAXP 全面介绍,第 1 部分:XML 处理工具包使解析...
- ››JAXP 全部内容,第 2 部分:使用 Sun 的 XML 处理...
- ››构建 pureXML 和 JSON 应用程序,第 3 部分: 为 p...
- ››构建 ESB 中介来将分隔文件转换为服务调用
更多精彩
赞助商链接