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 ...
随机推荐
- [Java复习] 设计模式 Design Pattern
设计模式的六大原则 1.开闭原则(Open Close Principle) 对扩展开放,对修改关闭. 2.里氏代换原则(Liskov Substitution Principle) 任何基类可以出现 ...
- struct ifreq 获取IP 和mac和修改mac
2012-09-11 14:26 struct ifreq 获取IP 和mac和修改mac 配置ip地址和mask地址: ifconfig eth0 192.168.50.22 netmask 25 ...
- HashSet的实现原理,简单易懂
HashSet的实现原理,简单易懂 答: HashSet实际上是一个HashMap实例,都是一个存放链表的数组.它不保证存储元素的迭代顺序:此类允许使用null元素.HashSet中不允许有重复元 ...
- python之socket编程(一)
socket之前我们先来熟悉回忆几个知识点. OSI七层模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标 ...
- LeetCode_125. Valid Palindrome
125. Valid Palindrome Easy Given a string, determine if it is a palindrome, considering only alphanu ...
- LeetCode_119. Pascal's Triangle II
119. Pascal's Triangle II Easy Given a non-negative index k where k ≤ 33, return the kth index row o ...
- Java下载HTTP URL链接示例
这里以下载迅雷U享版为例. 示例代码: package com.zifeiy.snowflake.handle.filesget; import java.io.File; import java.i ...
- ubuntu18.04 server配置静态ip,新的网络工具netplan的使用方法【转:http://forum.ubuntu.org.cn/viewtopic.php?t=487463】
最新发布的ubuntu18.04 server,启用了新的网络工具netplan,对于命令行配置网络参数跟之前的版本有比较大的差别,现在介绍如下:1.其网络配置文件是放在/etc/netplan/50 ...
- jenkins的maven插件
如图所示的maven项目也是一个jenkins插件:https://github.com/jenkinsci/maven-plugin 可以在插件管理里面安装:
- wordpress通过$wpdb获取一个分类下所有的文章
在wordpress程序根目录下新建一个php文件,粘贴下面的代码 如下面的代码注释,修改$CID这个分类id,就可以获取这个分类下的文章了.这个查询需要联合三个表wp_posts.wp_term_r ...