调用MSSoapInit2时碰到0x80040154错误

同事向我反映服务器上的一个WebService的调用没有成功。查看了一下调试信息,在执行MSSoapInit2后返回了值0x80040154,错误信息是没有注册类。


重新注册了MS SOAP Toolkit的相关控件,错误依然存在。于是怀疑是XML组件的问题,使用一个简化的inf进行xml相关控件的安装,还是没有解决。手工注册system32目录下的msxml4.dll,却收到提示dll文件加载失败,在Depends里面也显示不出任何文件依赖。难道是Dll文件损坏了?从其他地方拷贝过来,注册,依然提示Dll文件加载失败。于是老老实实的安装MSXML4.0 Parser and SDK。再试,WebService调用成功。


这时候想起来看一下操作系统的版本,是64位的Windows Server 2008。按照经验是Dll的路径不对,32位的Dll文件应该放到C:\Windows\SysWow64目录里。于是想重现一下错误,卸载MSXML4.0 Parser and SDK。再次拷贝msxml4.dll到system32目录下,进行注册。按照前面的情况来看,应该会注册失败。不过奇怪的是居然注册成功了。Depends里面也正常显示出了组件的依赖关系。注册失败的情况居然无法重现了?反复安装卸载MSXML4.0 Parser and SDK,也尝试手工注册,反注册SysWow64和system32下的msxml4.dll,始终不再出现注册失败的情况,真是令人费解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值