XML-RPC技术


-------------本文参考刘洋,魏飞等编著的《精通jboss---EJB与webservice开发精解》

XML-RPC技术的实质就是用XML描述你所需要的远程调用方法,并通过HTTP来传送这些XML数据

Apache XML-RPC实现工具:可以到以下网址下载:http://download.csdn.net/detail/u013998070/8563005

一:独立安装和启动:

1.将下载的xmlrpc.zip文件解压到你的工作目录下,可以找到xmlrpc-2.0.1.jar

2.打开命令行工具,调整到xmlrpc-2.0.1.jar,运行命令行程序,如下图:

如何命令行内不显示任何信息,说明你的xml-rpc服务器已经正常启动了,这种方式是使用了xmlrpc-2.0.1.jar中内建的web服务器来启动xml-rpc服务器

二:xml-rpc的实现结构

xml-rpc服务器是通过XmlRpcHandler来实现的,服务器中用于服务的java类对象都是由XmlRpcHandler封装起来,并由XmlRpcHandler负责执行RPC调用的方法

实例:利用xml-rpc调用服务器端对象

a.使用内置的web服务器的方法

package com.liuyang.xmlrpc.server;

import org.apache.xmlrpc.WebServer;

import com.liuyang.xmlrpc.handles.HelloWorldHandler;
import com.liuyang.xmlrpc.handles.IntHandler;
import com.liuyang.xmlrpc.handles.SimpleHandler;

/*
 * 8080设置了webserver的监听端口,同时也初始化了其内部的XmlRpcServer,来启动Xml-Rpc请求,然后为webserver添加Handler
 */
public class SimpleServer {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
       WebServer webServer=new WebServer(8080); //启动内置的web服务器
       webServer.addHandler("HelloWorldHandler",new HelloWorldHandler());
       webServer.addHandler("$default",new SimpleHandler());
       webServer.addHandler("IntHandler",new IntHandler());
       System.out.println("webserver start()");
       webServer.start();
	}

}

第1个Handler:

package com.liuyang.xmlrpc.handles;

public class HelloWorldHandler {
   public String sayHello(String message){
	   return "sayhello to"+message;
   }
}

第2个Handler:

package com.liuyang.xmlrpc.handles;

public class IntHandler {
  public int count;
  public int add(int num){
	  count+=num;
	  return count;
  }
}

第3个Handler:

package com.liuyang.xmlrpc.handles;

import java.util.Vector;

import org.apache.xmlrpc.XmlRpcHandler;

public class SimpleHandler implements XmlRpcHandler {

	@Override
	public Object execute(String arg0, Vector arg1) throws Exception {

		return "this is simplehandler";
	}

}

运行SimpleServer后,看到如下图:

SimpleClient的代码如下:

package com.liuyang.xmlrpc.client;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Vector;

import org.apache.xmlrpc.XmlRpcClient;
import org.apache.xmlrpc.XmlRpcException;

public class SimpleCient {

	/**
	 * @param args
	 * @throws IOException
	 * @throws XmlRpcException
	 */
	public static void main(String[] args) throws XmlRpcException, IOException {
       XmlRpcClient xmlRpcClient=new XmlRpcClient("localhost",8080);
       Vector vector1=new Vector();
       vector1.add("nini");
       System.out.println(xmlRpcClient.execute("HelloWorldHandler.sayHello", vector1));
       Vector vector2=new Vector();
       System.out.println(xmlRpcClient.execute("", vector2));
       Vector vector3=new Vector();
       vector3.add(new Integer(1));
       System.out.println(xmlRpcClient.execute("IntHandler.add", vector3));

	}

}

以上简单介绍了xml-rpc技术利用内置服务器调用服务器对象的方法,xml-rpc自身有一些优势,但是也存在很大的局限性,在面向web-service时,存在很大的不足

时间: 2024-08-07 01:16:19

XML-RPC技术的相关文章

xml解析技术

本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的标签(属性)和Dom树 中的节点一 一对应.节点都是对象,这样就可以使用对象的属性或者方法就操作xml. 缺点:每一种技术都会有缺点,Dom解析的不足之处在于不是处理数据量大的xml文件,原因:Dom技术是直接将xml解析成树,装入到内存中, 这样消耗的资源会比较多. 以下面Myclass.xml为

Java网络编程丶数据库编程丶XML解析技术。

Java网络编程 物理层. 数据链路层. 网络层. 传输层. 会话层. 表示层. 应用层. TCP/IP分层接口包括用于协作层分别完成以下的功能: 网络接口层. 网络互联层. 传输层. 应用层. 套接字: Socket.套接字.是一种抽象层. // 创建客户端Socket向服务器发起连接请求 Socket socket = new Socket("127.0.0.1", 30001); /* 利用已建立的socket创建输入输出流,处理与服务器端的连接 */ // 向服务器写入数据 B

Java XML解析技术

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已.基本的解析方式有两种,一种叫SAX,另一种叫DOM. DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作.通过DOM接口,应用程

Java数据库编程、Java与XML解析技术

Java数据库编程: 1. JDBC概述:JDBC(数据库连接)是Java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类库(位于java.sql和javax.sql包中).用JDBC开发的数据库  应用既可以跨操作系统平台,又可以跨数据库系统平台.    在JDBC的基本操作中,最常用的类和接口包括DriverManager,  Connection,  Statement,  PreparedStatement,  CallableStatement 和 Result

什么是XML RPC?

# -*- coding: cp936 -*- #python 27 #xiaodeng #什么是XML RPC? #中文叫:远程过程调用 #使用http协议做传输协议的rpc机制,使用xml文本的方式传输命令和数据 #一个rpc系统必然包含2个部分: #1.rpc client:用来向rpc server调用方法,并接收方法的返回数据 #2.rpc server:用于响应rpc client的请求,执行方法,并回送方法的执行结果. #工作原理 #1.rpc client的工作原理是rpc cl

The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly

The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly 博客分类: 解决方案_Java 问题描述:The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly…… 还加了一个错误提示:the hierarchy of the type is inconsistent 原因:缺少jaxrpc.jar包 解决方案:导

Java数据库编程及Java XML解析技术

1.JDBC概述 A.  什么是JDBC? Java DataBase Connectivity:是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成.通过这些类和接口,JDBC把SQL语句发送给不同类型的数据库进行处理并接收处理结果 B.  JDBC的常用类和接口:DriverManager类, Connection接口, Statement接口, PreparedStatement接口, ResultSet接口 2.JDBC编程步骤 1). 加载驱动程序 Cl

java xml处理技术一(解析xml和生存xml的技术)

java xml处理技术一 XML 技术是随着 Java 的发展而发展起来的.在 XML 出现之前对于简单的数据格式通常是存储在 ini 配置文件等文本文件中,复杂的格式则采用自定义的文件格式,因此对于每种文件格式都要有专门的解析程序. XML 出现以后解决了这个问题,程序面对的是有固定格式的 XML 文件,只要通过标准 API 就可以进行 XML 文件的处理. XML 文件在案例系统中应用是很广泛的,比如 ClientConfig.xml . ServerConfig.xml 文件就是使用 X

XML解析技术研究(一)

摘要:XML作为过去十年中出现的最流行的技术之一,得到了广泛的应用,而其中XML解析技术是XML应用的关键.本文介绍了XML解析技术的研究动向,分析和比较了4种XML解析技术的优劣,并归纳总结了应用系统设计中选取合适的XML解析技术的原则. 1  引言 XML(eXtensible Markup Language,可扩展标记语言)是由World Wide Web联盟(W3C)定义的元语言,即一种关于语言的语言.XML的设计源于SGML (Standard Generalized Markup L

Android实现XML解析技术

http://www.cnblogs.com/hanyonglu/archive/2012/02/28/2370675.html http://weizhulin.blog.51cto.com/1556324/311678 Android实现XML解析技术