Symptomy
Użycie metody załadować modelu obiektów XMLDOM synchronicznie załadować dokument Extensible Markup Language (XML) na komputerze klienckim za pośrednictwem połączenia SSL, metoda nie działa z powodu błędu 0x800c0007 i INET_E_DATA_NOT_AVAILABLE zwracają wartość.
Przyczyna
Ten problem występuje, gdy plik nie jest buforowany na komputerze klienckim. Istnieje kilka powodów dlaczego plik nie może być buforowana:
-
Użytkownik zaznaczy pole wyboru nie zapisuj zaszyfrowanych stron na dysku , na karcie Zaawansowane okna dialogowego Opcje internetowe .
-
Serwer wysyła Pragma:no-pamięci podręcznej lub pamięci podręcznej-sterowania: no-nagłówek cache.
-
Jeśli używasz programu Microsoft Internet Information Server (IIS), opcja wygaśnięcia zawartości jest równa Wygasnąć natychmiast, który wysyła nagłówki nie-cache, jak również Expires: 0 nagłówek HTTP.
Rozwiązanie
Aby rozwiązać ten problem, należy wykonać następujące czynności:
-
W programie Internet Explorer w menu Narzędzia kliknij polecenie Opcje internetowe. Na karcie Zaawansowane wyczyść pole wyboru nie zapisuj zaszyfrowanych stron na dysku .
-
Upewnij się, że serwer nie wysyła nagłówków nie-cache.
-
W programie IIS w przystawce programu Microsoft Management Console (MMC), kliknij prawym przyciskiem myszy plik XML. Na karcie Nagłówki HTTP należy wyłączyć opcję wygasanie zawartości.
Stan
Firma Microsoft potwierdziła, że jest to usterka występująca w produktach firmy Microsoft wymienionych na początku tego artykułu.
Więcej informacji
Kroki do odtworzenia problemu
-
W programie Internet Explorer w menu Narzędzia kliknij polecenie Opcje internetowe. Na karcie Zaawansowane wyczyść pole wyboru nie zapisuj zaszyfrowanych stron na dysku .
-
Utwórz plik HTML o nazwie Test.html, a następnie wklej następujący kod:
<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>
-
Zapisz Test.html do bezpiecznego folder na serwerze sieci Web.
-
Utwórz plik XML o nazwie Test.xml, a następnie wklej następujący kod:
<?xml version='1.0' ?><BOOKLIST><BOOK><CATEGORY>Fiction</CATEGORY><TITLE>The Snow Leopard</TITLE><AUTHOR>Desmond Bagley</AUTHOR></BOOK></BOOKLIST>
-
Zapisz Test.xml do bezpiecznego folder na serwerze sieci Web.
-
W programie Internet Explorer przejdź do Test.html, a następnie kliknij Load XML. Otrzymasz błąd 0x800c0007.
Informacje
Aby uzyskać więcej informacji dotyczących XML zobacz następujący artykuł w Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/xml/default.aspAby uzyskać więcej informacji dotyczących projektowania rozwiązań opartych na sieci Web dla programu Microsoft Internet Explorer odwiedź następujące witryny firmy Microsoft w sieci Web:
http://msdn.microsoft.com/ie/ http://support.microsoft.com/iep