XML-RPC-1概述
- 中文名
- XML-RPC
- 外文名
- XML Remote Procedure Call
- 属 于
- 标准通用标记语言
- 类 型
- 一个子集
目录
- 1 关于XML-RPC
- ▪ 基本介绍
- ▪ Request example
- ▪ Response example
- 2 XML-RPC入门程序
- ▪ 基本做法
- ▪ 管理器类
- ▪ 服务器类
- ▪ 客户程序
- 3 RPC和RMI的简单比较
- ▪ 调用形式
- ▪ classname.methodname的形式
- ▪ methodname
- ▪ 匹配成功后
关于XML-RPC
基本介绍
Request example
1
2
3
4
5
6
7
8
9
10
11
|
<? xmlversion = "1.0" ?> < methodCall > < methodName >examples.getStateName</ methodName > < params > < param > < value > < i4 >41</ i4 > </ value > </ param > </ params > </ methodCall > |
Response example
1
2
3
4
5
6
7
8
9
10
11
12
|
<? xmlversion = "1.0" ?> < methodResponse > < params > < param > < value > < string > SouthDakota </ string > </ value > </ param > </ params > </ methodResponse > |
XML-RPC入门程序
基本做法
管理器类
1
2
3
4
5
6
7
|
packagexmlRpc; / * * * @authortrier * * <b><code>HelloHandler< / code>< / b>isasimplehandlerthancan * beregisteredwithanXML - RPCserver * / publicclassHelloHandler{ publicStringsayHello(Stringname){ return "Hello" + name; } } |
服务器类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
packagexmlRpc; / * * * * <b><code>HelloServer< / code>< / b>isasimpleXML - RPCserver * thatwilltakethe<code>HelloHandler< / code>classavailable * forXML - PRCcalls. * <o:p * / importorg.apache.xmlrpc.WebServer; importorg.apache.xmlrpc.XmlRpc; importjava.IOException; publicclassHelloServer{ publicstaticvoidmain(String[]args){ if (args.length< 1 ){ System.out.println( "Usage:javaHelloServer[port]" ); System.exit( - 1 ); } try { XmlRpc.setDriver( "org.apache.xerces.parsers.SAXParser" ); / / starttheserver System.out.println( "StartingXML-RPCServer......" ); WebServerserver = newWebServer(Integer.parseInt(args[ 0 ])); / / registerourhandlerclass server.addHandler( "hello" ,newHelloHandler()); System.out.println( "Nowacceptingrequests......" ); }catch(ClassNotFoundExceptione){ System.out.println( "CouldnotlocateSAXDriver" ); }catch(IOExceptione){ System.out.println( "Couldnotstartserver:" + e.getMessage()); } } } |
客户程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
packagexmlRpc; / * * * * <b><code>HelloClient< / code>< / b>isasimpleXML - RPCclient * thatmakesanXML - RPCrequestto<code>HelloServer< / code> * / importjava.i.IOException; importjava.util.Vector; importorg.apache.xmlrpc.XmlRpc; importorg.apache.xmlrpc.XmlRpcClient; importjava.t.MalformedURLException; importorg.apache.xmlrpc.XmlRpcException; publicclassHelloClient{ publicstaticvoidmain(String[]args){ if (args.length< 1 ){ System.out.println( "Usage:javaHelloClient[yourname]" ); System.exit( - 1 ); } try { / / UsetheApacheXerecesSAXDriver XmlRpc.setDriver( "org.apache.xerces.parsers.SAXParser" ); / / Specifytheserver / / createrequest Vectorparams = newVector(); params.addElement(args[ 0 ]); / / makearequestandprinttheresult Stringresult = (String)client.execute( "hello.sayHello" ,params); System.out.println( "Responsefromserver:" + result); }catch(ClassNotFoundExceptione){ System.out.println( "CouldnotlocateSAXDriver" ); }catch(MalformedURLExceptione){ System.out.println( "IncorrectURLfroxml-rpcserverforamt:" + e.getMessage()); }catch(XmlRpcExceptione){ System.out.println( "XmlRpcException:" + e.getMessage()); }catch(IOExceptione){ System.out.println( "IOException:" + e.getMessage()); } } } |
RPC和RMI的简单比较
调用形式
classname.methodname的形式
methodname
匹配成功后
XML-RPC-1概述的更多相关文章
- 什么是XML RPC?
# -*- coding: cp936 -*- #python 27 #xiaodeng #什么是XML RPC? #中文叫:远程过程调用 #使用http协议做传输协议的rpc机制,使用xml文本的方 ...
- 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 问题描述:T ...
- 【PHP XML与dtd概述【完整版】】
一.XML文件简介 关于XML的大多数人都知道一些,HTML->xhtml->xml,这个顺序本来应当是HTML发展的顺序. XML可以当做配置文件使用,还可以充当小型的数据库. vers ...
- 关于XML的DTD概述
1 DTD概述 1.1 什么是DTD DTD(Document Type Definition),文档类型定义,用来约束XML文档.或者可以把DTD理解为创建XML文档的结构!例如可以用DTD要求XM ...
- xml rpc SimpleXMLRPCServer [python]
SimpleXMLRPCServe 其实里面xml的概念不是很强,主要是rpc !不用关心什么xml . rpc 是就是远程调用,把函数什么的放到远程服务器上,本地调用就行了.用 SimpleXMLR ...
- [03] mapper.xml的基本元素概述
1.select 我们基于这个持久层接口 GirlDao: public interface GirlDao { List<Girl> findByAge(int age); Girl f ...
- alluxio源码解析-rpc调用概述(1)
alluxio中几种角色以及角色之间的rpc调用: 作为分布式架构的文件缓存系统,rpc调用必不可少 client作为客户端 master提供thrift rpc的服务,管理以下信息: block信息 ...
- xml的解析(概述)
使用java解析xml☆☆☆ 四个类:分别是针对dom和sax解析使用的类 -dom : DocumentBuilder:解析器类 -这个类是个抽象类,不能new, ...
- Android之布局androidmanifest.xml 资源清单 概述
转载:https://www.cnblogs.com/wytings/p/4083463.html AndroidManifest.xml配置文件对于Android应用开发来说是比较细但又很重要的基础 ...
- supervisord支持扩展(xml RPC API & Third Party Applications and Libraries)
XML-RPC API Documentation http://www.supervisord.org/api.html Third Party Applications and Libraries ...
随机推荐
- 虎牙在全球 DNS 秒级生效上的实践 集群内通过 raft 协议同步数据,毫秒级别完成同步。
https://mp.weixin.qq.com/s/9bEiE4QFBpukAfNOYhmusw 虎牙在全球 DNS 秒级生效上的实践 原创: 周健&李志鹏 阿里巴巴中间件 今天
- Vue 缓存当前页面keep-alive
需求: 产品经理在列表页(几千个数据,n个page)点击某一项进去到详情页后,再返回到列表页发现页面回到了第一页,找不到之前的查看的是哪一条了,为了方便咋公司产品经理,返回列表页时需要记住之前的pag ...
- <javaScript>document.body为null的问题
虽然body是JS中的DOM技术中所有浏览器支持的属性,但在我们的代码编写中,还是会碰到document.is null问题 例如:我们可以使用alert(document.body);的时候,就会提 ...
- 浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景
浅谈Mysql共享锁.排他锁.悲观锁.乐观锁及其使用场景 Mysql共享锁.排他锁.悲观锁.乐观锁及其使用场景 一.相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁 ...
- MySQL数据库之慢查询日志
一.开启慢查询日志 通过show global variables like '%slow%' #查看MySQL慢查询日志是否开启 [root@mysqlmaster01 ~]# mysql --lo ...
- [MongoDB教程] 2.MongoDB的安装与使用
下载mongodb的版本,两点注意 根据业界规则,偶数为稳定版,如3.2.X:奇数为开发版,如3.3.X 32bit的mongodb最大只能存放2G的数据,64bit就没有限制 MongoDB官网安装 ...
- droid AVD创建及设置中各参数详解
设置AVD时有些参数比较模糊,特地找了篇文章,大家参考下! 本文根据如下的模拟器安装做一些解释: Name: 自定义虚拟的名称,不能有空格或者其他非法字符,否则不能创建,即Creat AVD不能高亮点 ...
- iOS面试-深拷贝和浅拷贝
浅copy:实际上的内存只有一份 任何copy都只是指向这个内存的一个引用 深copy:原始数据有一份 每一个copy的对象不再是引用 而是内容大小一样 内存地址不同的独立对象 系统的非容器类对象 c ...
- Zabbix部分监控指标
MySQL请求流量带宽.MySQL响应流量带宽.CPU使用率.内存利用率.网卡流量等.
- VMware VSAN 设计规则
1.集群节点数量:3-64台主机(生产环境最少4节点起,5.5版本支持32节点,6.0版本支持64节点),配置万兆网卡,主机规格应满足VSAN兼容性要求. 2.每台主机需配置磁盘组,每台主机的磁盘组数 ...