VC2010及以后版本调用WebService接口的方法
来源:互联网 发布:excel官方下载mac版本 编辑:程序博客网 时间:2024/06/05 08:53
近日在项目中需要频繁调用一个webservice接口,以达到增加数据做性能测试的目的。最开始想的是直接用LR调用20W次,结果在跑的时候发现LR11版本和12版本均会出现调用几百次后内存崩溃的情况,且单线程运行速度很慢,于是就考虑使用VC多线程来调用此接口的办法。
兴冲冲的打开VC2015,百度之后基本上介绍的方法都是直接添加服务引用(WebReference),但是突然发现VC2015的引用页面根本就没有服务引用,不死心,分别试了VC2010/2013,均发现没有(最新的VC2017);最后在VC2005上发现了此引用按钮,测试后可以再2005上引入webservice接口。
那么在VC2005之后,没有服务器引用的情况下,如何调用webservice接口接口呢?经过研究后发现,原来Visual Studio 2008以及以后版本中,微软停止了非托管C++的直接WebService引用。ATL Server代码已经托管到开源网站上,我们可以找到ATL Server的源代码,编译出Sproxy.exe,这个工具可以根据wsdl文件来生成非托管的代理类。
具体方法如下:
1.下载ATL_Server源代码,编译代码中的SProxy工程形成sproxy.exe。代码下载地址为:http://atlserver.codeplex.com/,需要注意的是,此工程需要使用VC2005打开。
2.将下载好的ATL_Server源代码中的include文件夹完整的拷贝到目前使用版本的VC的include文件夹中,例如:VC2015对应的文件夹为:\Microsoft Visual Studio 14.0\VC\atlmfc\include。
3.浏览器访问需要调用的webservice接口的WSDL页面,将整个页面另存为xxx.wsdl,如:webservice.wsdl。而后将此文件和sproxy.exe放置在同一文件夹下面。
4.使用如下命令行:sproxy.exe /wsdl webservice.wsdl ;就会在当前运行cmd的目录下生成webservice.h文件。
5.直接#include此文件和using namespace 就好了。
#include "I.h" using namespace I; ........ CI I_WebService; I_WebService.YZ_ReportEinCheckingResult();//接具体的调用方法
PS:在编译的时候可能会遇到找不到dbgautoattach.h此头文件的问题,此文件包含在VC2005的VC\include下面,将此拷贝到VC2015的VC\include下面即可解决此问题。
PS2:编译中可能还会出现很多莫名其妙的错误,记得工程设置 否 (/sdl-)
- VC2010及以后版本调用WebService接口的方法
- 调用WebService接口的方法
- VC2010 调用 Webservice
- 关于android3.0及以后版本访问webService的问题
- 调用webservice接口的一些方法
- java调用webservice接口的方法
- WebService客户端调用接口的方法
- java调用外部webservice接口的方法
- 远程调用webservice接口的实现方法
- VC2010中 调用DLL的方法
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- cxf+spring发布webservice接口及接口的调用
- VC2010使用GSOAP调用C#写的WEBSERVICE
- Loadrunner 调用 Webservice 接口 进行 性能测试 时的方法及优化总结
- Loadrunner调用Webservice接口进行性能测试时的方法及优化总结
- xfire调用webService接口方法
- Android开发GridView与CheckBox使用
- vue-cli项目安装使用stylus步骤
- 欢迎使用CSDN-markdown编辑器
- python-列表分割
- Ubuntu 16.04 下安装 LAMP
- VC2010及以后版本调用WebService接口的方法
- npm常用模块记录
- mupdf中CMYK与RGB的转换算法
- 推拉流良心第三方推荐
- 为什么docker容器启动不了?
- (4.5.5.4)Espresso的进阶: AdapterViewProtocol
- summernote入门-自定义上传-删除垃圾文件
- 让Entity Framework启动不再效验__MigrationHistory表
- 棋牌游戏服务器架构设计