SOAP学习之一:Visual C++创建简单的客户端--使用soap toolkit 3.0获取UTC服务器时间

这篇博客介绍了如何在Visual C++中使用SOAP Toolkit 3.0创建一个简单的客户端,通过解决命名空间问题和连接到正确的服务器,获取UTC服务器时间。文章强调了使用特定的SOAP消息格式,并提供了创建和发送XML消息的步骤,包括建立连接、创建消息序列和读取响应的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始接触 XML及SOAP第一天,摸不着头绪,看了很多文章,总结一下几点心得,附一个小例子使用VC++控制台程序获取UTC服务器时间。

看到的资料VC++都是使用soap toolkit来使用SOAP,soap toolkit目前看最高版本应该是3.0,但是微软已经不再对soap toolkit提供技术支持及更新,在微软官网没找到3.0的下载,目前微软官方能z找到的下载的版本为2.0:http://download.microsoft.com/download/xml/soap/2.0/w98nt42kme/EN-US/SoapToolkit20.exe

如果使用3.0,只能从第三方网站下载。安装soap toolkit很简单,但是要记住安装路径,以便在程序中引用。国人的文章多是翻译一篇SOAP Client Using Visual C++,文章大多雷同,但是由于该文章中的测试实现功能为返回雅虎用户的在线信息(The service indicates Yahoo Messenger’s online presence),雅虎已经停服,照着做程序会在调用EndMessage时报错……到处是坑……

有几个注意问题:

1、命名空间问题:

由于使用XML,要在程序中使用命名空间:using namespace MSXML2;如果是VC++控制台程序没什么问题,如果编译时,报错:error C2872:“IXMLDOMDocumentPtr”为不明确的符号

发现已经说明了编译器对IXMLDOMXXX不明确,有两个选择:安装包中默认的msxml.h和生成目录下的msxml4.tlh,导致编译器不知道该用哪个。解决方法参考论坛的方法:去掉namespace,显式的限定接口声明.就是用MSXML2::IXMLDOMDocumentPtr docPtr。不使用命名空间using namespace MSXML2。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值