快速业务通道

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
lt;/listResponse>   </soapenv:Body> </soapenv:Envelope>

这些头仍然有点儿混乱(其中有许多与 SOAP 相关的 XML,而且为了提高可读性,清单 2 的格式实际 上已经调整过了)。但这里的要点是,响应是 XML,而不是一个错误。如果获得与清单 2 相似的结果, 就说明系统正常。现在已经安装了 Axis,简单的 Java Web 服务调用也已经正常工作了。

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)(9)

时间:2011-08-02 IBM Brett McLaughlin

构建一个程序,并将其发布为服务

在 JAX-RPC 和其他任何 Web 服务框架中,最出色的特性之一是,在编写作为 Web 服务发布的程序时 不需要考虑 RPC 或 Web 服务。大多数 Web 服务最初并不是作为 Web 服务开发的;实际上,它们最初是 一般的程序,包含一些在调用时返回值的方法。如果您熟悉这个概念,就说明已经理解了 Web 服务的本 质:它们仅仅是可以通过 Web 而不是虚拟机访问的程序。

所以,在开始关注 RPC 语法或 Web Services Description Language(WSDL)之前,我们需要一个可 供 Web 客户机使用的类。

构建 Java 类

假设您希望开发一个简单的图书搜索工具。这个程序存储与认知科学、学习理论和用户界面设计相关 的图书。但是,因为这些书的内容非常深奥,书名常常无法反映书的内容,所以这个程序必须能够按照指 定的关键字搜索存储库,并返回与这个关键字相关的书。例如,对关键字 presentation 的搜索可能返回 Garr Reynolds 所著的 Presentation Zen 和 Dan Roam 所著的 The Back of the Napkin。第一个书名 本身就符合条件,但是这个程序很聪明,可以找到第二本书,而一般的搜索程序很可能找不到它。

目前,还不需要为 Web 服务或 JAX-RPC 操心。我们只需要一个搜索程序,以后将把它转换为 Web 服 务。

定义类和方法调用

首先编写一个简单的类骨架,定义希望提供给程序用户的方法。清单 3 给出一个 Java 类,它接受一 个搜索词并返回一个书名列表:

清单 3. 返回书名的完整程序的骨架

package dw.ibm; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class BookSearcher {   private Map books;   public BookSearcher() {    books = new HashMap();   }   public void setBooks(Map books) {    this.books = books;   }   public void addBook(String title, List keywords) {    books.put(title, keywords);   }   public List getKeywords(String title) {    return (List)books.get(title);   }   public void addKeyword(String title, String keyword) {    List keywords = (List)books.get(title);    if (keywords != null) {     keywords.add(keyword);     // No need to manually "re-put" the list    } else {     keywords = new LinkedList();     keywords.add(keyword);     books.put(title, keywords);    }   }   public List search(String keyword) {    List results = new LinkedList();    // logic to be implemented     return results;   } }

用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)(10)

时间:2011-08-02 IBM Brett McLaughlin

这相当简单。每本书作为一个条目存储在一个映射中。映射的键是书名,因此很容易在书名中搜索关 键字。另外,每本书有一个相关联的关键字列表。清单 3 中没有表现出这一点,但是这些关键字仅仅是 &ld

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号