当执行 resp 时 := (HTTPRIO 作为 iHttpCust)。客户(OrdNo) 它失败并带有"Microsoft MSXML is not installed"



在Windows 10-64位上运行,没有要安装的MSXML。最新的 MSXML 是 6,自 XP sp3 以来未更新。尝试在 Win 10 上安装它失败。

我正在德尔福 10.3.2 里约重新开发德尔福 2007 程序。我已经导入了WSDL文件并添加了一个HTTPRIO组件,并以与旧版本相同的方式设置了它。我已经创建了必要的调用并编译了程序。当它运行并尝试执行(HTTPRIO 作为 xxx(命令时,失败并显示消息 MSXML 未安装。

当跳过调用并测试程序的其余部分时,使用 LoadFromFile 而不是 LoadFromStream 加载 XML 文件时,XML 文件的处理工作正常。我正在使用XMLParser。

更奇怪的是:当运行旧的(delphi 2007(程序时,该程序在与新程序相同的机器上以完全相同的方式运行,它运行而不会失败。

两者之间的区别在于,我在Win 10-64机器上编译新程序,使用Delphi 10.3.2 Rio,当然还有较新版本的HTTPRIO组件,而旧的rogram是在Vista机器上创建的。

显然我错过了一些东西,但不知道是什么。有人可以帮忙吗?任何帮助都非常感谢。

问候 索伦

我找到了一个可行的解决方案。改用 OmniXML。

将 xml.xmldom和 xml.omnixmldom 添加到 uses 子句中,然后在 formhow(或 formcreate 或代码中第一次 XML 调用之前的任何位置(中添加一行

DefaultDOMVendor := sOmniXmlVendor;

就是这样。MSXML未安装错误消失了,现在我确实得到了肥皂响应并可以访问Web服务。铌!我确实尝试使用 xml.win.msxmldom 并将默认 domvender 设置为 SMSXML,但不断收到未安装错误。

我在阅读此页面时找到了解决方案:https://delphiaball.co.uk/2014/12/29/setting-default-xml-dom-delphi-xe7/

在这种情况下,感谢谷歌和斯蒂芬鲍尔。

相关内容

  • 没有找到相关文章

最新更新