运行微软的SOAP3.0的VC样例Samples30_ADOTM_Client报错,m_pSoapClient->Invoke时直接失败

i 服 U ,微软老大。用VC 使用的 SOAP Toolkit从来没有顺利过。

今天硬头皮再来尝试一下,完全 follow 它的  setup instructions 
配置完我的Windows 2003后,
配好本地域名解释MSSoapSampleServer,ping通
注册完  Samples\ADOTM\Common\Cpp\ReleaseMinDependency\AdoTMcpp.dll

没错吧?

再检查完IIS的Samples30虚拟目录的ISAPI映射.wsdl映射C:\PROGRA~1\COMMON~1\MSSoap\Binaries\SOAPIS30.dll
没问题吧?

再完全打开Windows2003的防火墙。所有端口自由了,没疑问吧?

把ADOTM.wsdl、ADOTM.wsml、samplerecordset.adtg拷贝到debug目录,(再上级也拷贝了一份),all right?

run--->error raise!



m_pSoapClient->Invoke时报错。

哀...微软对VC++好像不怎么支持嘛,文档乱,少,错误还多,难怪从小就被人教育说:初学者不要用VC。

牢骚归牢骚,这个错误的原因还是要找出来的。其实我只是想用客户端把服务器上的数据集下载到客户本地的XML文件里,这么easy的事情却在VC里错来错去,郁闷!。。。。

哪位用过VC和SOAP Toolkit3.0调用Web Services成功的,能给点tip吗?

-----------------------
2005-5-17
在CSDN上基本上我问10个问题里有9个是毫无结果的,而在MSDN里搜索关于VC++的,基本上那个“过滤器”是毫无用处的,--因为“筛选依据”是Visual C++,搜索的结果仍然搜出一大堆C#的.

再次验证要生存只有自食其力的俗话。

今天追踪到是ISoapClient::MSSoapInit2时出错,不过正如别人笑话微软的那个经典笑话那样,提示的错误信息是 _com_error @0x0012f928, 基本没任何意义(有什么工具或办法能查看0x0012f928记录的是什么吗?),没法实例化soap的客户端实例.但怎么解决呢?继续捞针中...

10:24
CoInitialize(0) -> OK
InitializeSOAP -> OK
memset(&__params, 0x00, sizeof(__params));
 __params.tableName = tableName;设置参数时发现字符乱码了??!类型转换有错?

10:30
果然时类型转换的问题,C#写的Services的参数类型是string, C++中转换为BSTR, 要((BSTR)( _bstr_t))才行.伸伸腰去,再继续...


相关文章:
1. VC6开发Web Services 客户端
2. 微软的Soap样例是错误的!

posted @ 2005-05-16 09:06  CZoneSoft  阅读(2949)  评论(2编辑  收藏  举报