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 ...
随机推荐
- SQL SERVER SELECT语句中加锁选项的详细说明
共享锁(读锁)和排他锁(写锁) 共享锁(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句. 如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能 ...
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_11-前端显示当前用户-前端请求jwt
前端代码 sessionStorage也是key/value的格式 页头显示当前用户 查询jwt nginx里面的配置 测试 开启认证服务 进行登陆 跳转到首页就应该立即请求查询. 跳转到首页 coo ...
- 123457123456---熊猫宝贝连数字游戏(儿童连数字)--com.threeObj03.shuziLink
熊猫宝贝连数字游戏(儿童连数字)--com.threeObj03.shuziLink
- LeetCode_125. Valid Palindrome
125. Valid Palindrome Easy Given a string, determine if it is a palindrome, considering only alphanu ...
- MapReduce\Tez\Storm\Spark四个框架的异同
1) MapReduce:是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行 处理,非常适合数据密集型计算. 2) Spark:MapReduce计算框架不适合迭代计算和交互式计算, ...
- 普罗米修斯Prometheus监控安装
普罗米修斯Prometheus监控安装 架构: 服务端:192.168.0.204 客户端:192.168.0.206 环境准备:所有节点安装go 语言环境 rz go1.12.linux-amd64 ...
- laravel console handle 传参方法
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use App\Libs\wxpay\CLogFile ...
- 【ARTS】01_34_左耳听风-201900701~201900707
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制
来源:http://www.mannulinux.org/2019/05/exploiting-rfi-in-php-bypass-remote-url-inclusion-restriction.h ...
- iOS推送证书上传(转)
iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Developm ...