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开发库,支持SOAP和XML协议。下面是开发WebService客户端的详细步骤和知识点: 一、准备工作 在开发...
gSOAP是著名的开源工具,专为C和C++开发者设计,用于构建Web服务客户端和服务器端应用程序。这个工具包提供了一种高效、灵活且易于使用的框架,使得在C/C++中实现SOAP(Simple Object Access Protocol)协议变得...
GSOAP为C++开发带来了便利,而C#则依赖于.NET框架提供的功能。理解这些概念和技术对于构建跨平台、跨语言的应用程序至关重要,尤其是在需要旧版C++代码与现代C#服务进行通信的情况下。确保正确配置你的项目设置,...
在本主题中,我们将深入探讨如何使用Visual C++(简称VC)来开发Web Service的客户端。 1. **Web Service基本概念** - **SOAP (Simple Object Access Protocol)**:是Web Service通信的核心,是一种轻量级的协议,...
开发者需要先从WSDL文件生成gsoap的输入文件,然后使用gsoap工具生成C++客户端代码。调用过程主要包括解析SOAP消息,创建请求,发送HTTP请求,接收响应,然后解码响应内容。 **2. 动态调用WebService:** 动态调用...
WebService客户端开发是一个重要的IT主题,尤其当涉及到跨平台通信和数据交换时。在这个场景中,我们关注的是使用gSOAP库在MFC(Microsoft Foundation Classes)环境中进行开发。gSOAP是一个开源工具包,它允许...
使用C++开发WebService程序时,需要借助于插件gsoap。 gsoap是一种跨平台的C和C++软件开发工具包,生成C/C++的RPC代码,XML数据绑定,对SOAP Web服务和其他应用形成高效的具体架构解析器。这个工具包提供了一个全面...
本文将详细介绍如何使用C++语言来调用WebService接口,并通过具体的步骤演示整个过程。 #### 二、准备工作 首先,我们需要准备一些必要的工具和资源: 1. **下载gSOAP库**:gSOAP是一个强大的工具,可以自动生成...
虽然使用C++进行WebService调用不如其他语言直观,但在某些特定场景下,C++的优势仍然明显。希望本篇文档能够帮助大家更好地理解和实践C++与WebService的结合。 ### 参考资料 - 官方网站:http://www.cs.fsu.edu/~...
本篇文章将详细讲解如何在Windows下使用gsoap来构建一个能够查询MySQL数据库的Web服务客户端。 1. **gSOAP简介** gSOAP是一个开源的SOAP库,由Genivia公司维护。它提供了自动生成C/C++客户端和服务端代码的功能,...
在Windows环境下,我们需要定义导出函数,这些函数可以调用生成的WebService客户端代码。使用`__declspec(dllexport)`或`__declspec(dllimport)`关键字来控制函数的导入和导出。 6. **使用DLL**:外部应用程序只...
`C++_WebService_Demon`项目就是将这两种技术结合,使用C++实现了一个基于gSOAP库的Web服务示例,包括服务器端和客户端的代码。 gSOAP是用于C和C++的开源工具包,它允许开发者创建符合SOAP(简单对象访问协议)标准...
gSOAP是广泛使用的C/C++ Web服务开发工具,它自动生成客户端和服务器端的代码,支持SOAP 1.1和1.2协议。使用gSOAP,开发者可以很容易地将C++函数绑定到Web服务操作上,实现调用远程服务。 4. 调用Web服务的步骤 -...
在本文中,我们将深入探讨如何在C++环境下使用gSOAP开发Web服务。Web服务是一种允许不同系统之间进行交互的标准化方式,它基于XML、SOAP、WSDL和UDDI等技术,实现了跨平台的可互操作性。gSOAP是一个强大的工具包,它...
在C++中实现Webservice,可以使用gsoap工具。gsoap是一个开源的C/C++软件开发工具包,能自动生成C++代码来处理SOAP消息。它支持WS-I基本Profile,可以与各种SOAP服务器通信。对于RESTful Webservice,可以使用C++库...
在IT行业中,C++是一种强大的、面向对象的编程语言,广泛应用在系统软件、游戏开发、高性能计算等多个领域。Web Service则是一种基于开放标准(如XML、SOAP)的接口,允许不同系统之间通过网络进行通信。当C++需要与...
gSOAP是一个开源工具集,它允许开发人员创建C和C++客户端和服务端应用程序,以处理基于SOAP(Simple Object Access Protocol)的Web服务。以下是对这一主题的详细说明: 1. **Visual Studio 2010**:这是Microsoft...
gSOAP(Generic SOAP)是一个开源库,用于C和C++编程语言,专为构建Web服务客户端和服务端应用程序而设计。这个开发包是针对C/C++开发者的重要工具,它提供了处理XML数据和SOAP协议的能力,使得在不同的系统和平台...