Microsoft KB Archive/272359

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

Article ID: 272359

Article Last Modified on 5/11/2006

-

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 Core Services 4.0
 * Microsoft XML Parser 3.0 Service Pack 1
 * Microsoft XML Core Services 4.0

-



This article was previously published under Q272359



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.



Steps to Reproduce Behavior
 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.  Create an HTML file named Test.html, and then paste the following code:     function loadmyxml {   var XMLObj = new ActiveXObject(&quot;Microsoft.XMLDOM&quot;) XMLObj.async = false; XMLObj.load('https://localhost/secure/test.xml'); if (XMLObj.parseError.errorCode != 0) alert(&quot;Error loading XML file : &quot; + XMLObj.parseError.reason); else alert (XMLObj.xml); }   </li> Save Test.html to a secure folder on your Web server.</li>  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> </li> Save Test.xml to a secure folder on your Web server.</li> In Internet Explorer, browse to Test.html, and then click Load XML. You receive error 0x800c0007.</li></ol>

<div class="references_section">