最近与xmlrpc这东西打交道,因为之前没用过,在这之前也一直没听说过这个名词,所以也不知道怎么调用。

后来查了一下资料,分别用C# 和 Loadrunner的web(http/html) 都实现了调用操作。

废话少说,下面就先来说一下C#是如何实现的。(当然其实语言也可以读取,这里只说一下我用到的,其实的就不作研究了。)

1. C#实现方式

需要去下载CookComputing.XmlRpcV2.dll这个dll的支持,以下是实现代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CookComputing.XmlRpc;
using System.Text;namespace XmlrpcTest
{public class Program{   static void Main(string[] args){IXmlrpc proxy = XmlRpcProxyGen.Create<IXmlrpc>();var result = proxy.login("test123", "123456");}}/// <summary>/// xmlrpc的部署的地址/// </summary>[XmlRpcUrl("http://192.168.10.11:8080/middlers")]public interface IXmlrpc : IXmlRpcProxy{[XmlRpcMethod("middler.login")]int login(string szPassportId, string szPassword);}
}

2. Loadrunner实现(更多请参考higkoo此大牛的博客:http://hi.baidu.com/higkoo/item/c7e8a33f4047cc83b711dbdc)

/** xmlrpc接口参数组成*/
int XmlBody()
{lr_save_string(lr_eval_string("<?xml version=\"1.0\" encoding=\"GB2312\"?>""<methodCall>""<methodName>middler.login</methodName>""<params>""<param>"//如果接口有多个参数都按此格式添加"<value>""<string>test123</string>""</value>""</param>""<param>""<value>""<string>123456</string>""</value>""</param>""</params>""</methodCall>"),"xmlStr");
}Action()
{web_add_header("User-Agent", "Apache XML RPC 3.0 (Sun HTTP Transport)");web_reg_find("Text=<int>1</int>","Search=Body","SaveCount=count_flag",LAST); //获取请求返回是否有<int>1</int>
XmlBody();lr_start_transaction("LoginTest");web_custom_request("testXmlRpc", "Method=POST", "URL=http://192.168.10.11:8080/middlers", "RecContentType=text/xml","EncType=text/xml;charset=UTF-8","Body={xmlStr}", LAST);if(atoi(lr_eval_string("{count_flag}")) == 1){lr_end_transaction("LoginTest",LR_PASS);}else{lr_error_message("账号注册不成功,请查看原因!%s",lr_eval_string("{Account}"));lr_end_transaction("LoginTest",LR_FAIL);}return 0;
}

以上两个简单例子就完成了!欢迎各位拍砖。

转载于:https://www.cnblogs.com/Martin_Q/archive/2012/12/12/2815111.html

调用Xmlrpc接口相关推荐

  1. 利用python3 调用zabbix接口完成批量加聚合图形(screens)

    在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...

  2. java获取get请求返回_Java中处理调用第三方接口(post/get),该如何处理,返回的数据如何处理...

    条件:1.请求URL:http://ip:port/yypt/*.jsonRequest 2.接口采用http post协议.Content-Type为application/json 调用流程: 第 ...

  3. java web项目调用rest接口404

    POST http://localhost:8090/newsadmin/codeitemcontroller/addcodeitem 404 (Not Found) 接口调用了半天发现还是404 头 ...

  4. c调用c++ qt_C++中是如何调用C接口的?

    前言 如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口. C++如何调用C接口 为什么会有这样的情况呢?想象 ...

  5. 调用webservice接口,数据不回滚问题

    调用webservice接口,数据不回滚问题 使用cxf+spring框架开发webservice接口,在开发一个具有保存数据的接口功能时,如果数据发生了异常,对service层无论使用了xml配置声 ...

  6. android调用web接口,Android调用webservice 接口

    以查询手机号码归属地的Web service为例,它的wsdl为 1 在Android项目中导入??Ksoap2-android jar第三方jar包?? 2 Activity代码 public cl ...

  7. java安全接口调用_步骤3:调用Java接口

    本文档主要介绍了通过调用Java接口生成工作密钥和进行通用数据加解密的操作方法. 整体流程 初始化SDK.具体内容请参见 配置Java接口.具体内容请参见 初始化SDK 使用以下方法初始化SDK.hs ...

  8. 调用支付宝接口android最新,Android 外接sdk之支付宝

    支付宝开放平台 最新sdk可以访问开放平台进行下载. 以下为流程和注意事项. 1.名词简介 请求    手机客户端以字符串形式把需要传输的数据发送给接收方的过程. 返回     支付宝以字符串形式直接 ...

  9. 调查与讨论:你在调用别人接口的时候有考虑过失败情况吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 我们在构建分布式系统的时候,对开发人员会有一个很重要的要 ...

最新文章

  1. 一个正执行的程序如何启动另一新程序并关闭现执行程序
  2. 追梦童年,80后记忆中的Gameboy,教你怎么用模拟器去重温旧梦!
  3. C#基础-面向对象-多态
  4. 简述java异常处理机制
  5. 变频电源的日常检查目录
  6. 【Java】生成 .json格式文件工具类
  7. javascript调试常用工具讲解
  8. 小程序获取头像试试水 02《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》
  9. C++ 接收数量不定的函数参数
  10. 机器学习实战(一)k-近邻kNN(k-Nearest Neighbor)
  11. 马尔可夫链(Markov chain)的基本认识
  12. c语言实验题数鸽子和兔子,[TZOJ] 平台训练-V1
  13. 【文献阅读】大脑中与音乐体验和与音乐错误(冲突)监测相关的神经激活
  14. 杭电oj基础题目(1106、1108、1163、1164、1170、1194、1197)
  15. 什么蓝牙耳机好?测评达人精选五款性价比高蓝牙耳机推荐
  16. C++ iterator(迭代器)用法
  17. u深度做linux启动盘,u深度启动盘制作
  18. js刷新页面得重新加载和页面的刷新
  19. 解决某物流企业二维码打印问题
  20. Android端实现多人音视频聊天应用(一)

热门文章

  1. 矩形窗函数的频谱图_读书笔记6-单频矩形脉冲信号
  2. infinitescroll php,WordPress: 增加无限分页(Infinite Scroll)功能
  3. mysql执行动态说起来_MySQL实战45讲学习笔记:第十四讲
  4. elementui组件_elementui 中 loading 组件源码解析(续)
  5. Flink AggOperatorWholeWin 全窗口聚合函数
  6. android 数据库 字节数组,java - 如何使用活动的android序列化字节数组并将其存储到数据库中? - 堆栈内存溢出...
  7. python为csv文件添加表头_python读csv文件时指定行为表头或无表头的方法
  8. ESXi与Linux主机配置syslog日志上传远程服务器
  9. 华为云-云容器引擎 CCE新功能发布动态
  10. VMware NSX系列教程-部署NSX Manager(转)