运行微软的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样例是错误的!