从Hello word 学习XML-RPC编程

xml rpc学习目录:

1 定义

2 使用场景

3 案例分析

4 安全

5 总结

6 资源

一  定义

xml rpc是使用http协议做为传输协议的rpc机制,使用xml文本的方式传输命令和数据。一个rpc系统,必然包括2个部分:1.rpc client,用来向rpc server调用方法,并接收方法的返回数据;2.rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。(摘自百度百科)

二 使用场景

2.1 需要使用远程服务,对soap等其他远程服务协议不是很熟悉

2.2 需要客户端能访问远程信息

三 案例分析

本案例使用ASP.NET实现服务端,控制台应用程序实现客户端。实现内容:调用RPC服务,输出hello word!

3.1 服务端

下载xml-RPC.net,程序集中引用CookComputing.XmlRpcV2.dll,新建一个服务之前,先新建一个接口,代码如下:

/// <summary>
    /// 我的测试接口
    /// </summary>
    public interface IDiyiyusuanTest
    {
        [XmlRpcMethod("HelloWord")]
        string HelloWord();
}

实现这个接口,并且继承XmlRpcService,代码如下:

/// <summary>
    /// 创建一个RPC服务
    /// </summary>
    public class RpcServer : XmlRpcService, IDiyiyusuanTest
    {
        public string HelloWord()
        {
            return "HelloWord!";
        }
}

要实现Http://www.domin.com/rpcserver.axd,需要在config中如下配置:

<httpHandlers>
      <add verb="*" type="MvcTest.XMLRPC.RpcServer" path="rpcServer.axd"/>
    </httpHandlers>
解释:type是命名空间和类的名称,path为url访问路径:网站根目录/rpcserver.axd

3.2 客户端

using System.Reflection;
using CookComputing.XmlRpc;

class Program
    {
        static void Main(string[] args)
        {
            RpcClient rc = new RpcClient();
            var hello = rc.HelloWord();
            Console.WriteLine(hello);
            Console.Read();
        }
    }
[XmlRpcUrl("http://yourdmoin.com/rpcServer.axd")]
    public class RpcClient:XmlRpcClientProtocol
    {
        [XmlRpcMethod("HelloWord")]
        public string HelloWord()
        {
            return (string)Invoke(MethodBase.GetCurrentMethod());
        }
}

4 安全

4.1 简单安全,在实现服务的方法中,加入用户名和密码,但是此处传播为明文传播,最好加密.

4.2 使用强文件加密(暂时没研究)

5 总结

rpc实现比webservice要简单一些,没有复杂的配置,并且各个语言版本都有支持,不需要针对单个语言再写新的代码。但是rpc没有soap的webservice安全性高(暂时这样理解).

6 资源

xml-rpc 一些常见问题:http://xml-rpc.net/faq/xmlrpcnetfaq-2-5-0.html

xml-rpc :xml-rpc.net

转载于:https://www.cnblogs.com/wxj200589/archive/2011/12/26/2302335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值