c++ 连接webservice实例
1、C#写的webservice接口文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace WebServiceDemo
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
2、C++客户端
#include "stdafx.h"
#import "./MSSOAP30.dll" \
exclude("IStream", "IErrorInfo", "ISequentialStream", "_LARGE_INTEGER", \
"_ULARGE_INTEGER", "tagSTATSTG", "_FILETIME")
using namespace MSSOAPLib30; //前提是安装SOAP Toolkit3.0
#include <atlbase.h>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
ISoapSerializerPtr Serializer;
ISoapReaderPtr Reader;
ISoapConnectorPtr Connector;
HRESULT hr = Connector.CreateInstance(__uuidof(HttpConnector30));
Connector->Property["EndPointURL"] = "http://192.168.1.25/WebService1.asmx";
hr = Connector->Connect();
if (FAILED(hr))
{
CoUninitialize();
return -1;
}
// 发送SOAP请求
Connector->Property["SoapAction"] = "http://tempuri.org/HelloWorld";
//开始SOAP消息
Connector->BeginMessage();
Serializer.CreateInstance(__uuidof(SoapSerializer30)); //创建SoapSerializer对象
Serializer->Init(_variant_t((IUnknown*)Connector->InputStream)); //将SoapSerializer对象连接到Connector的输入字符串
// 创建SOAP消息
Serializer->StartEnvelope("soap", "", "");
Serializer->StartBody(""); //开始处理Body元素,参数为URI的编码类型,缺省为NONE
Serializer->StartElement("HelloWorld", "http://tempuri.org/", "", "soap");
Serializer->EndElement();
Serializer->EndBody();
Serializer->EndEnvelope();
hr = Connector->EndMessage(); //结束SOAP消息
// 读取SOAP响应信息
Reader.CreateInstance(__uuidof(SoapReader30)); //创建SoapReader对象
hr = Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), ""); //将SoapReader对象连接到Connector的输出字符串
wstring strResult;
Reader->RpcResult->get_text(&bstr);
strResult = (_bstr_t)bstr;
// Close Connect
Reader.Release();
Serializer.Release();
Connector.Release();
CoUninitialize();
return 0;
}
测试结果通过验证,如果想技术帮助:请联系QQ:728297725
c++ 连接webservice实例相关推荐
- 云服务器 ECS快速入门:远程连接 ECS 实例
远程连接 ECS 实例 阿里云在控制台为您提供了 管理终端,方便您远程连接并管理 ECS 实例. 您也可以使用其他方式远程连接 ECS 实例: 如果是 Linux 实例: 使用 SSH 密钥对连接 L ...
- java 连接池实例_功能完善的Java连接池调用实例
/** * Title: ConnectPool.java * Description: 连接池管理器 * Copyright: Copyright © 2002/12/25 * Company: * ...
- THttprio连接WebService的内存泄漏问题
THttprio连接WebService的内存泄漏问题. 原来写的一个通过Webservice读取数据的程序,用Delphi7开发的,在服务器上运行一段时间就死掉了,测试后发现是内存泄漏,在任务管理器 ...
- PHP 连接 Rabbitmq 实例代码(亲测通过)
接下来我们用 php 连接 rabbitmq 玩一玩. 还没有安装 rabbitmq ,请参考 Rabbitmq 安装 还没有安装 PHP 的 AMQP 扩展,参考 PHP AMQP 扩展安装 一些概 ...
- soapui自带的webservice实例 MockService
soapui自带的webservice实例 & MockService: http://www.docin.com/p-646423228.html 转载于:https://www.cnblo ...
- vb mysql_VB连接MYSQL实例
VB连接MYSQL实例 电脑需安装数据库'mysql server'和'mysql connector net'相关版本软件. 在工程的'项目'-'添加引用'中添加引用'mysql.data' 实现代 ...
- linux添加sshkey,使用SSH密钥对连接Linux实例
本地为Linux或其它支持SSH命令的环境 本节介绍如何在Linux或其他支持SSH命令的环境(如Windows下的MobaXterm)下使用SSH密钥对登录Linux实例. 方式一 找到您所下载的. ...
- python pandas series加速原理_python pandas中对Series数据进行轴向连接的实例
有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现.操作的对象通常是Series. Ipython中的交互代码如下: In [17]: from pandas ...
- Java 使用Axis实现WebService实例
在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...
- MySQL连接错误实例
遇到的十二种Mysql连接错误实例 更新20170919:针对ERROR 1130 (HY000): Host '192.168.1.3' is not allowed to connect to t ...
最新文章
- uiswitchbutton 点击不改变状态_Redux 包教包会(一):解救 React 状态危机
- java个人介绍代码_个人项目WC(Java)
- php绕过验证,PHP-Nuke绕过识别码验证漏洞
- fis php,在node.js上安装fis后显示fis不是内部命令,安装fis的环境变量配置问题
- @Html.DisplayFor 和 @mode.Display
- [原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM
- 经典c语言基础代码大全,经典基础实例编程C语言代码.doc
- 使用XMind打开.mmap文件
- 算法题解:旅行商(TSP)问题JAVA算法求解
- angular中使用其他模块severs使用失败
- openstack项目_新项目,安全性以及更多OpenStack新闻
- 各种浏览器开启JavaScript脚本
- 关于AOSP与AOKP
- 四、AOSP-开机报错
- 苹果官方揭秘:这个强大的相册功能是如何实现的?
- cmd 批量命名,批量删除
- MySQL的MHA高可用配置及故障切换
- IDEA 断点:断点失效问题
- svn propset svn:ignore
- FCS五色石 | 项目半月报(2020.5.1-2020.5.15)
热门文章
- graphic头文件函数_C语言图形函数库总结graphics.h
- 时间序列分析之协整检验
- linux刷机软件,MTK平台刷机工具——SP_Flash_Tool
- MATLAB中pdetool工具求解泊松方程和Laplace方程
- matlab中求最大似然估计,matlab求最大似然估计
- 自然资源部信息化建设总体方案摘要记录
- 恒德室内智能照明控制系统电路设计
- CreateThread,_beginthread与AfxbeginThread之间的区别
- VS技巧 使用Visual Studio Icon Patcher将2010的图片注入到2012中
- 天涯论坛邮箱采集器1.0