【问题标题】:Classic ASP AspXml createobject fails after windows updates (20212R2 - IIS8)Windows 更新后经典 ASP AspXml createobject 失败 (20212R2 - IIS8)
【发布时间】:2021-04-15 16:35:25
【问题描述】:

今天我们的 HTTP 服务器已更新为 KB5001382、KB5001393 和 KB5001403。 这是一个安装了 IIS8 的 windows server 2012R2

但是在这些更新之后,我开始在我的一个经典 asp 页面上遇到错误。

set xml0 = Server.CreateObject("AspXml.AspXml")
set xml = xml0.HttpGet(XML_File)
xml.FirstChild2() (error on this line)

错误信息: Microsoft VBScript 运行时错误“800a01a8” 所需对象:'xml'

我测试了 XML_file,它在本地和服务器(浏览器)上加载良好。 我的托管服务提供商说它是区分大小写的,但我无法想象它们的意思......

【问题讨论】:

  • 如果错误出现在您尝试访问 Xml 文档的那一行,我会说这不是 CreateObject 的问题,而是指向 HttpGet 未检索到预期的结果。
  • 感谢您的迅速答复。我对 msxml6.dll 有同样的问题(msxml6.dll 错误'80070005' - 访问被拒绝。)。我在另一个问题中发现它可能与 IUSR 帐户有关(无法访问 xml 文件所在的位置)。不知道这意味着什么。
  • 这意味着您的网站运行的用户帐户无法访问文件位置 - 或者在尝试通过 HttpGet 访问它的情况下,用户无法访问网络。
  • 超级!我会崩溃的。我希望这可以解决问题或帮助我朝着正确的方向前进。无论结果如何,感谢您的努力!

标签: iis-8 createobject


【解决方案1】:

请确保 IIS 和与所涉及的 DLL 相关的注册表/文件/文件夹的权限。

  1. 在注册表中搜索对象名称。在这种情况下“AspXml.AspXml”

  2. 对于所有注册表项,您应该拥有父注册表文件夹的所有权,因此请授予 IIS 用户帐户的读取权限。

  3. 确保文件/文件夹对 IIS 用户帐户具有读取/执行权限。

  4. 在命令行中注册 DLL 以备不时之需。

  5. 重新启动,因为重新启动 IIS 似乎没有这样做。

【讨论】:

  • 您好,感谢您的回答!我试过你的答案,但没有成功。我已将 xml 文件放在本地(相同的 http 域),一切都像一个魅力。所以只阻止读取远程xml文件...
猜你喜欢
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 2012-01-06
  • 1970-01-01
  • 2018-12-09
  • 2016-06-28
相关资源
最近更新 更多