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

Article translations Article translations
Article ID: 272359 - View products that this article applies to.
This article was previously published under Q272359
Expand all | Collapse all

On This Page

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.

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.

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.

STATUS

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

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.

REFERENCES

For more information on XML, see the following article on the Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/xml/default.asp
For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep

Properties

Article ID: 272359 - Last Review: May 11, 2006 - Revision: 3.2
APPLIES TO
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (Programming) 5.01 SP1
  • Microsoft Internet Explorer 5.5
  • Microsoft XML Parser 3.0
  • Microsoft XML Parser 3.0 Service Pack 1
  • Microsoft XML Core Services 4.0
Keywords: 
kbbug kbpending KB272359

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com