组装并部署JAX-RPC客户端
利用wsdeploy 命令工具,JAX-RPC客户端能够被绑定到可部署的WAR文件之上。wsdeploy 命令工具读取JAX-RPC运行时描述文件jaxrpc-ri.xml和web应用程序配置描述文件web.xml。
组装和部署JAX-RPC客户端包括以下步骤:
1. 创建JAX-RPC运行时描述文件,文件名称必须是jaxrpc-ri.xml。请参见" jaxrpc-ri.xml文件"。
2. JAX-RPC客户端是一个web模块。创建一个web模块配置描述文件web.xml。关于web.xml的信息,请参见Sun ONE应用服务器开发人员web应用指南
3. 使用wsdeploy命令工具创建一个可部署的WAR文件。关于wsdeploy命令工具,请参见"wsdeploy工具"。
4.使用asadmin 部署命令部署WAR文件。
可以通过一个ant build.xml 文件完成组装、部署、以及运行JAX-RPC客户端的任务。捆绑在Sun ONE应用服务器中的本例的build.xml文件可以从以下位置得到:
install_dir/samples/webservices/jax-rpc/simple/src
示例应用程序
install_dir/samples/webservices/jaxrpc/proxy – 包含一个动态代理客户端示例应用程序,它示范了创建、部署、和访问Web服务的基础知识。
install_dir/samples/webservices/jaxrpc/dynamic – 包含一个动态调用接口客户端,它示范了创建、部署、和访问Web服务的基础知识。
调用EJB的JAX-RPC客户端
本节讲述了能够调用应用服务器中EJB的JAX-RPC客户端的创建过程。
注意
本指导仅适用于在J2EE 1.3.1环境下开发JAX-RPC服务的情况。
调用EJB的主要步骤如下:
1. 创建一个会话bean。请参见Sun ONE应用服务器开发人员企业Java Bean指南,从而获得创建无状态会话bean的详细指导。
2. 创建一个执行查找EJB操作的web服务。以下代码示范了web服务应用程序在典型情况下如何调用EJB。
public String sayHello(String name) {
Context initial = new InitialContext();
Context myEnv = (Context)initial.lookup("java:comp/env");
Object objref = myEnv.lookup("ejb/SimpleGreeting");
GreetingHome home = (GreetingHome)PortableRemoteObject.narrow(objref,GreetingHome.class);
}
3. 创建一个远程调用JAX-RPC服务的客户端。以下代码是远程调用EJB的客户端的例子。
package samples.webservices.jaxrpc.toejb.client;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import samples.webservices.jaxrpc.toejb.ejb.*;
public class GreetingClient {
public static void main(String[] args) {
try {
Context initial = new InitialContext();
Context myEnv = (Context)initial.lookup("java:comp/env");
Object objref = myEnv.lookup("ejb/SimpleGreeting");
GreetingHome home = (GreetingHome)PortableRemoteObject.narrow(objref,GreetingHome.class);
Greeting salutation = home.create();
System.out.println(salutation.sayHey("Buzz"));
System.exit(0);
} catch (Exception ex) {
System.err.println("Caught an unexpected exception!"); ex.printStackTrace(); }
} // main
4. 组装服务和客户端,请参见"组装并部署JAX-RPC Web服务" 和"组装并部署JAX-RPC客户端".
5. 通过执行以下步骤部署会话bean:
编辑配置描述文件(ejb-jar.xml和sun-ejb-jar.xml).
执行ant编译命令(就像创建jar文件)来组装JAR模块。
使用asadmin部署工具命令部署JAR模块。例如,以下命令部署EJB应用成为一个单独模块:
asadmin deploy --type ejb --instance inst1 myEJB.jar
6. 部署JAX-RPC服务。请参见"组装并部署JAX-RPC Web服务"
7. 使用asant命令运行JAX-RPC客户端。
asant run