XML-PRC的入门级程序(JAVA)

刚没很多事,写了个XML-PRC的入门级程序

总算是也给调通了,下载地址:http://download.csdn.net/source/1534837

简单的步骤:

1.新建一个web工程(导入rpc需要的包)

2.新建一个方法类,如:SayHello.java,在com.potevio.telecom.rpc.test包下

3.在方法类中写自己的方法,如:sayHello,add等

4.新建一个属性文件:XmlRpcServlet.properties,在不改变apache的源代码下,
  必须是在org.apache.xmlrpc.webserver这个目录里面
 
5.在属性文件中配置自己写的调用方法,格式是:被客户端调用的名字=类的路径,如:
  SayHello=com.potevio.telecom.rpc.test.SayHello

6.在配置文件中发布这个服务,简单的做法是将下面的代码添加到web.xml中
 <servlet>
        <servlet-name>XmlRpcServlet</servlet-name>
        <servlet-class>org.apache.xmlrpc.webserver.XmlRpcServlet</servlet-class>
        <init-param>
          <param-name>enabledForExtensions</param-name>
          <param-value>true</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>XmlRpcServlet</servlet-name>
        <url-pattern>/xmlrpc</url-pattern>
    </servlet-mapping>
   
到这里,服务端完成,接下来是客户端的编写

7.新建一个客户端测试类,如:RpcClient.java,里面的代码有简单注解

8.运行测试。
(1)部署工程,启动服务端
(2)运行客户端

补充:
   进入官方网站

  代码:下载
--------------------------------------------------------------------------------------------------
不想下载的下面有几个类的完整代码:
  RpcClient.java

 1 package com.potevio.telecom.rpc.test;
 2 
 3 import java.net.MalformedURLException;
 4 import java.net.URL;
 5 
 6 import org.apache.xmlrpc.XmlRpcException;
 7 import org.apache.xmlrpc.client.XmlRpcClient;
 8 import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
 9 
10 /**
11  * @description  客户端测试类
12  * @author ZhouJingxian
13  *
14  */
15 public class RpcClient {
16 
17     /**
18      * @param args
19      */
20     public static void main(String[] args) {
21         
22         XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
23         
24         try {
25             //注意这个地址,后面的是在web.xml中发布的服务名称xmlrpc
26             config.setServerURL(new URL("http://127.0.0.1:8000/RPCFirstProject/xmlrpc"));
27             XmlRpcClient client = new XmlRpcClient();
28             client.setConfig(config);
29             
30             System.out.println("expected output:");
31             
32             Object[] userName = new Object[]{"boys and girls"};
33             String returnStr = (String)client.execute("SayHello.sayHello",userName);
34             
35             System.out.println("sayHello:"+returnStr);
36             
37             Object[] params = new Object[]{new Integer(1),new Integer(2)};
38             Integer returnAdd = (Integer)client.execute("SayHello.add", params);
39             System.out.println("add value:"+ returnAdd);
40         }
41         catch (MalformedURLException e) {
42             e.printStackTrace();
43         } catch (XmlRpcException e) {
44             e.printStackTrace();
45         }
46     }
47 }
48 


SayHello.java

 1 package com.potevio.telecom.rpc.test;
 2 
 3 /**
 4  * @description 方法类
 5  * @author ZhouJingxian
 6  *
 7  */
 8 public class SayHello {
 9 
10     public String sayHello(String userName){
11         return "Hi!"+ userName;
12     }
13     
14     public int add(int a,int b){
15         return a + b;
16     }
17 }
18 
XmlRpcServlet.properties

 

SayHello=com.potevio.telecom.rpc.test.SayHello

 

posted @ 2009-07-31 15:22  海的诺言  阅读(1177)  评论(0编辑  收藏  举报