Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

BUG: Load Method Fails to Load XML Documents over SSL Connection


View products that this article applies to.

Symptoms

When you use the Load method of the XMLDOM object model to synchronously load an Extensible Markup Language (XML) document on a client computer over an SSL connection, the method fails with error 0x800c0007 and the INET_E_DATA_NOT_AVAILABLE return value.

↑ Back to the top


Cause

This problem occurs when the file is not cached on the client computer. There are several reasons why the file may not be cached:

  • The user selects the Do not save encrypted pages to disk check box on the Advanced tab of the Internet Options dialog box.
  • The server sends a Pragma:no-cache or Cache-control:no-cache header.
  • If you are using Microsoft Internet Information Server (IIS), the Content-Expiration option is set to Expire Immediately, which sends no-cache headers as well as the Expires:0 http header.

↑ Back to the top


Resolution

To resolve this problem, perform the following steps:

  1. In Internet Explorer, on the Tools menu, click Internet Options. On the Advanced tab, clear the Do not save encrypted pages to disk check box.
  2. Make sure that the server does not send no-cache headers.
  3. In IIS, in the Microsoft Management Console (MMC) snap-in, right-click the XML file. On the HTTP Headers tab, turn off the Content-Expiration option.

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

↑ Back to the top


More Information

Steps to Reproduce Behavior

  1. In Internet Explorer, on the Tools menu, click Internet Options. On the Advanced tab, clear the Do not save encrypted pages to disk check box.
  2. Create an HTML file named Test.html, and then paste the following code:
    <HTML>
    <BODY>
    <INPUT type=button onclick=loadmyxml() value="Load XML">
    <SCRIPT>
    function loadmyxml()
    {
    var XMLObj = new ActiveXObject("Microsoft.XMLDOM")
    XMLObj.async = false;
    XMLObj.load('https://localhost/secure/test.xml');
    if (XMLObj.parseError.errorCode != 0)
    alert("Error loading XML file : " + XMLObj.parseError.reason);
    else
    alert (XMLObj.xml);
    }
    </script>
    </BODY>
    </HTML>
  3. Save Test.html to a secure folder on your Web server.
  4. Create a new XML file named Test.xml, and then paste the following code:
    <?xml version='1.0' ?>
    <BOOKLIST>
    <BOOK>
    <CATEGORY>Fiction</CATEGORY>
    <TITLE>The Snow Leopard</TITLE>
    <AUTHOR>Desmond Bagley</AUTHOR>
    </BOOK>
    </BOOKLIST>
  5. Save Test.xml to a secure folder on your Web server.
  6. In Internet Explorer, browse to Test.html, and then click Load XML. You receive error 0x800c0007.

↑ Back to the top


References

For more information on XML, see the following article on the Microsoft Developer Network (MSDN):

For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:

↑ Back to the top


Keywords: kbbug, kbdsupport, kbpending, kb

↑ Back to the top

Article Info
Article ID : 272359
Revision : 2
Created on : 8/1/2019
Published on : 8/1/2019
Exists online : False
Views : 378