webserice的客户机 安装 SoapClient36g.exe,选择默认安装配置
新建vc++6.0的项目,添加下面的测试代码 TestWriteService.cpp
#include <stdio.h>
#import "msxml3.dll"
using namespace MSXML2;
#import "C:\Program Files\Common Files\MSSoap\Binaries\MSSOAP1.dll" \
exclude("IStream", "ISequentialStream", "_LARGE_INTEGER", \
"_ULARGE_INTEGER", "tagSTATSTG", "_FILETIME")
using namespace MSSOAPLib;
void main()
{
CoInitialize(NULL);
ISoapSerializerPtr Serializer;
ISoapReaderPtr Reader;
ISoapConnectorPtr Connector;
// 与Web服务连接
Connector.CreateInstance(__uuidof(HttpConnector));
Connector->Property["EndPointURL"] = "http://192.168.1.99:8080/WriteRecordWS/services/WriteRecordWebService";
Connector->Connect();
// 开始消息
Connector->BeginMessage();
// 创建SoapSerializer对象
Serializer.CreateInstance(__uuidof(SoapSerializer));
// 将serializer连接到connector的输入字符串
Serializer->Init(_variant_t((IUnknown*)Connector->InputStream));
// 创建SOAP消息
Serializer->startEnvelope("","","");
Serializer->startBody("");
Serializer->startElement("sayHello","","","");
Serializer->startElement("in0","","","");
Serializer->writeString("frenchmay@gmail.com");
Serializer->endElement();
Serializer->endElement();
Serializer->endBody();
Serializer->endEnvelope();
// 将该消息发送给web服务
Connector->EndMessage();
// 读取响应
Reader.CreateInstance(__uuidof(SoapReader));
// 将reader联接到connector的输出字符串
Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), "");
// 显示结果
printf("Answer: %s\n", (const char *)Reader->RPCResult->text);
Serializer.Release();
Connector.Release();
Reader.Release();
CoUninitialize();
}
上面的代码主要功能
1:指定webservice的网络资源路径
http://192.168.1.99:8080/WriteRecordWS/services/WriteRecordWebService
2:构建一个soap协议报文
Serializer->startElement("sayHello","","","");
Serializer->startElement("in0","","","");
Serializer->writeString("c:\\123.bin");
Serializer->endElement();
3: 通过http协议发送请求和接受响应。
// 将该消息发送给web服务
Connector->EndMessage();
// 读取响应
Reader.CreateInstance(__uuidof(SoapReader));
主义的是调试过程中,可能会因为soap协议的格式和方法参数的问题导致请求失败。
建议使用抓包工具:分别抓取java 的webservice客户端和c++的webService客户端发送的soap包,进行比较。
打印结果
分享到:
相关推荐
C++通过gSOAP开发WebService客户端
gSOAP用于C/C++开发WebService客户端和服务器端,使其过程非常简单。
使用gsoap和c++开发的webservice客户端和服务端程序,
VS2005 VC开发的一个WebService例子 两个工程 一个详细文档 代码编译通过 运行正确 VC ATL创建的一个服务端只实现Add函数 VC 基于对话框的MFC程序调用创建的WebService 文档详细说明到每一步
支持传统C++开发及运行的跨平台的Web网站服务器端环境,建立在Apache平台上,knewcode0.93a版。 测试运行:(测试环境,Windows7) 1、将本目录拷贝到D盘根目录;(如果需要拷贝到其他目录,请自行修改Apache的配置...
gSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows、Linux、MAC OS和UNIX下使用C和C++语言编码。本资源是gSoap2.8.11版,里面还含有一个简单示例。
支持传统C++开发及运行的跨平台的Web服务器端环境,建立在Apache平台上,knewcode0.91a版。 测试运行:(测试环境,Windows7) 1、将本目录拷贝到D盘根目录;(如果需要拷贝到其他目录,请自行修改Apache的配置文件...
现在把我C++写的例子实现简单介绍下,与大家共享: 1、下载工具gsoap-2.8。gsoap是个好工具,包装了SOAP到C++的实现,不需要我们再辛苦。(例子中附带这个工具) gsoap-2.8.zip 因为长名字关系,请到根目录解压后...
×适用于以C或C++开发的web服务中。 ×跨平台:Windows, Unix, Linux, Mac OS X, Pocket PC, Palm OS, Symbian等。 ×支持序列化程序中的本地化C/C++数据结构。 ×可以使用输入和输出缓冲区来提高效率,但是...
gsoap c++ webservice client
支持传统C++开发及运行的跨平台的Web网站服务器端环境,建立在Apache平台上,knewcode0.92a版。 测试运行:(测试环境,Windows7) 1、将本目录拷贝到D盘根目录;(如果需要拷贝到其他目录,请自行修改Apache的配置...
CWSS(C++ Web Service Server)是用于开发、集成、部署和管理大型分布式应用、网络应用和数据库应用的C/C++应用服务器。将C/C++的高效稳定和各种通讯标准(UDP/TCP/HTTP/SOAP等)引入大型网络应用的开发、集成、部署和...
axis全称Apache Extensible Interaction System ...Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器
SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更...
gSOAP编译工具提供了一个SOAP/XML 关于C/C++ 语言的实现,从而让C/C++语言开发web服务或客户端程序的工作变得轻松了很多,可以实现不同语言的交互
gsoap对接Webservice接口开发工具包,可以生成C++远程客户端接口实现代码
支持的程序语言有:C#、c++、VB、VC、易语言、按键精灵等能调用dll的相关开发语言。 使用易游网络验证插件的特点: 1、完全免费使用 使用易游网络验证服务,完全免费使用:用户登录、代理管理、卡密管理等基本功能,...
gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子) soap客户端工具
Visual Web Development 2005开发ASP.NET使用小技巧 ASP.NET 2.0 异步页面原理浅析 [1] [原] 自定义通用System.Web.UI.IHierarchicalDataSource简单实现 在 ASP.NET 2.0 中创建 Web 应用程序主题 ASP.NET 2.0 中的...