快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
用程序的服务器只能与也支持 它们的客户机交互,所以这是一个关键步骤。

可以引用 servlet 引擎中的 JAR(如果在同一台机器上运行客户机代码和 servlet 引擎),也可以 把这两个 JAR 重新下载或复制到客户机机器中,并把它们添加到类路径中。清单 20 给出所需的代码:

清单 20. 在类路径中添加邮件和激活 JAR

export JAVA_BASE=/usr/local/java export JAVA_HOME=/Library/Java/Home export XALAN_HOME=$JAVA_BASE/xalan-j_2_7_1 export AXIS_HOME=$JAVA_BASE/axis-1_4 export TOMCAT_HOME=$JAVA_BASE/apache-tomcat-6.0.16 export EDITOR=vi export CVS_RSH=ssh export PS1="[''whoami'':\w] " export CLASSPATH=$XALAN_HOME/xalan.jar:           $XALAN_HOME/xml-apis.jar:           $XALAN_HOME/xercesImpl.jar:           $XALAN_HOME/xalan.jar:           $XALAN_HOME/xsltc.jar:           $XALAN_HOME/serializer.jar:           $AXIS_HOME/lib/axis.jar:           $AXIS_HOME/lib/jaxrpc.jar:           $AXIS_HOME/lib/commons-logging-1.0.4.jar:           $AXIS_HOME/lib/commons-discovery-0.2.jar:           $AXIS_HOME/lib/saaj.jar:           $AXIS_HOME/lib/wsdl4j-1.5.1.jar:           $TOMCAT_HOME/lib/activation.jar:           $TOMCAT_HOME/lib/mail.jar:           .

一定要确保应用修改,或对 .profile 执行 source,或重新启动终端应用程序。可以用 echo $CLASSPATH 命令检查类路径变量。应该会看到刚才添加的所有 JAR。

构建客户机类

现在可以开始构建连接 Web 服务的类。首先编写一个简单的骨架;它应该是一个 Java 类,它不需要 实现特定的接口或扩展另一个类。实际上,客户机类中没有与 RPC 相关的内容。

清单 21 给出一个简单的 BookSearcherClient 骨架。这个类通过命令行获取一个关键字,然后调用 Web 服务中的方法。当然,这些方法目前仅仅是占位方法,稍后会编写它们的逻辑。

清单 21. Web 服务客户机类骨架

import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class BookSearcherClient {   public static final String SERVICE_URL =    "http://localhost:8080/axis/BookSearcher.jws";   public BookSearcherClient() { }   public Object[] search(String keyword) throws IOException {    // placeholder    return new Object[];   }   public static void main(String[] args) throws IOException {    if (args.length != 1) {     System.err.println("Usage: java BookSearcherClient [search keyword]");     return;    }    String keyword = args[0];    BookSearcherClient client = new BookSearcherClient();    Object[] results = client.search(keyword);    System.out.println("Returned books for keyword ''" + keyword + "'':");    for (int i = 0; i<results.length; i++) {     System.out.println(" " + results[i]);    }   } }

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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号