java实现xml-rpc客户端和服务端
2015-10-13 10:57
447 查看
客户端代码:
package test_xmlrpc.test;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
public class RpcClient {
public static void main(String[] args) throws Exception {
// 实例化一个客户端配置对象 XmlRpcClientConfigImpl config,为该实例指定服务端 URL 属性
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://127.0.0.1:8005/xmlrpc"));
//创建 XmlRpcClient 对象,为其指定配置对象
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// 创建参数数组
List<String> list = new ArrayList<String>();
list.add("xx");
list.add("hello");
// 调用服务器端方法“Hello”
String result = (String) client.execute("HelloHandler.Hello", list);
System.out.println(result);
}
}
服务端代码:
package test_xmlrpc.test;
import org.apache.xmlrpc.server.PropertyHandlerMapping;
import org.apache.xmlrpc.server.XmlRpcServer;
import org.apache.xmlrpc.server.XmlRpcServerConfigImpl;
import org.apache.xmlrpc.webserver.WebServer;
public class RpcServer {
private static final int port = 8005;
public static void main(String[] args) throws Exception {
WebServer webServer = new WebServer(port);
// XmlRpcServer 对象用于接收并执行来自客户端的 XML-RPC 调用
XmlRpcServer xmlRpcServer = webServer.getXmlRpcServer();
PropertyHandlerMapping phm = new PropertyHandlerMapping();
phm.addHandler("HelloHandler", HelloHandler.class);
xmlRpcServer.setHandlerMapping(phm);
XmlRpcServerConfigImpl config = (XmlRpcServerConfigImpl) xmlRpcServer.getConfig();
// enabledForExtensions: 指定是否启用 Apache 对 XML-RPC 的扩展。
config.setEnabledForExtensions(true);
config.setContentLengthOptional(false);
webServer.start();
}
}
HelloHandler类:
package test_xmlrpc.test;
public class HelloHandler {
public String Hello(String name,String word){
return name+word;
}
}
附详解链接:XML-RPC 的 Apache 实现
package test_xmlrpc.test;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
public class RpcClient {
public static void main(String[] args) throws Exception {
// 实例化一个客户端配置对象 XmlRpcClientConfigImpl config,为该实例指定服务端 URL 属性
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://127.0.0.1:8005/xmlrpc"));
//创建 XmlRpcClient 对象,为其指定配置对象
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// 创建参数数组
List<String> list = new ArrayList<String>();
list.add("xx");
list.add("hello");
// 调用服务器端方法“Hello”
String result = (String) client.execute("HelloHandler.Hello", list);
System.out.println(result);
}
}
服务端代码:
package test_xmlrpc.test;
import org.apache.xmlrpc.server.PropertyHandlerMapping;
import org.apache.xmlrpc.server.XmlRpcServer;
import org.apache.xmlrpc.server.XmlRpcServerConfigImpl;
import org.apache.xmlrpc.webserver.WebServer;
public class RpcServer {
private static final int port = 8005;
public static void main(String[] args) throws Exception {
WebServer webServer = new WebServer(port);
// XmlRpcServer 对象用于接收并执行来自客户端的 XML-RPC 调用
XmlRpcServer xmlRpcServer = webServer.getXmlRpcServer();
PropertyHandlerMapping phm = new PropertyHandlerMapping();
phm.addHandler("HelloHandler", HelloHandler.class);
xmlRpcServer.setHandlerMapping(phm);
XmlRpcServerConfigImpl config = (XmlRpcServerConfigImpl) xmlRpcServer.getConfig();
// enabledForExtensions: 指定是否启用 Apache 对 XML-RPC 的扩展。
config.setEnabledForExtensions(true);
config.setContentLengthOptional(false);
webServer.start();
}
}
HelloHandler类:
package test_xmlrpc.test;
public class HelloHandler {
public String Hello(String name,String word){
return name+word;
}
}
附详解链接:XML-RPC 的 Apache 实现
相关文章推荐
- JAVA从入门到精通读书笔记 第一章
- 查看有问题的java线程
- java使用soap方式简单实现webservice (二)
- 【第五节】Java代码实现栈----【链表的存储形式】
- java中的定时加载任务
- Java线程池使用说明
- java.lang.VerifyError报错
- 【第五节】Java代码实现双端链表
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- 公共技术点之 Java 动态代理
- 浅谈Java Comparator用法
- 下列代码可以实现把Java的CST格式的时间字符串转为为Date对象和所需要的日期时间格式!
- Exception in thread “main” javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory
- Java同步容器和并发容器
- saiku2.5源码myeclipse部署出现的一个问题
- 【第五节】Java代码实现链表
- JDBC(Java Database Connection) 教程
- java创建对象的四种方式
- 公共技术点之 Java 注解 Annotation
- 一个经典例子让你彻彻底底理解java回调机制