Sintomi
Quando si utilizza il metodo di caricamento del modello a oggetti XMLDOM per caricare in modo sincrono un documento Extensible Markup Language (XML) in un computer client su una connessione SSL, il metodo ha esito negativo con errore 0x800c0007 e valore restituito di INET_E_DATA_NOT_AVAILABLE.
Causa
Questo problema si verifica quando il file non viene memorizzato nella cache del computer client. Esistono diversi motivi perché il file potrebbe non essere memorizzata nella cache:
-
L'utente seleziona la casella di controllo non salvare pagine crittografate su disco nella scheda Avanzate della finestra di dialogo Opzioni Internet .
-
Il server invia un pragma: no-cache o Cache-controllo: no-intestazione cache.
-
Se si utilizza Microsoft Internet Information Server (IIS), l'opzione scadenza contenuto è immediata, che invia le intestazioni no-cache, nonché il Expires: 0 intestazione HTTP.
Risoluzione
Per risolvere questo problema, attenersi alla seguente procedura:
-
In Internet Explorer, scegliere Opzioni Internetdal menu Strumenti . Nella scheda Avanzate , deselezionare la casella di controllo non salvare pagine crittografate su disco .
-
Assicurarsi che il server non invia intestazioni no-cache.
-
In IIS, nello snap-in Microsoft Management Console (MMC), fare clic sul file XML. Nella scheda Intestazioni HTTP , disattivare l'opzione scadenza contenuto.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti Microsoft elencati all'inizio di questo articolo.
Ulteriori informazioni
Procedura per riprodurre il comportamento
-
In Internet Explorer, scegliere Opzioni Internetdal menu Strumenti . Nella scheda Avanzate , deselezionare la casella di controllo non salvare pagine crittografate su disco .
-
Creare un file HTML denominato /Word e quindi incollare il codice seguente:
<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);elsealert (XMLObj.xml);}</script></BODY></HTML>
-
Salvare /Word in una cartella protetta sul server Web.
-
Creare un nuovo file XML denominato test. XML e quindi incollare il codice seguente:
<?xml version='1.0' ?><BOOKLIST><BOOK><CATEGORY>Fiction</CATEGORY><TITLE>The Snow Leopard</TITLE><AUTHOR>Desmond Bagley</AUTHOR></BOOK></BOOKLIST>
-
Sul server Web, salvare il test. XML in una cartella protetta.
-
In Internet Explorer, cercare /Word e quindi fare clic su XML di carico. Viene visualizzato l'errore 0x800c0007.
Riferimenti
Per ulteriori informazioni su XML, vedere il seguente articolo della Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/xml/default.aspPer ulteriori informazioni sullo sviluppo di soluzioni basate sul Web per Microsoft Internet Explorer, visitare i seguenti siti Web Microsoft:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep