Проблема при создании ActiveXObject

Здравствуйте!

Есть необходимость создать ActiveXObject.
Пробую создать следующим кодом

            try {
                xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
                xmlhttp.setOption(2, 13056); //SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS
            } catch (e) {
                try {
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.5.0");
                    xmlhttp.setOption(2, 13056); //SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS
                } catch (E) {
                    xmlhttp = false;
                }

Объект не создается. В Чем может быть проблема?

Нравится

8 комментариев

Какая ошибка то? Невозможно создание объекта сервером программирования объектов? Значит COM не зарегистрирован в системе.
Переменная не определена? Напишите var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");

А, и если вы это делаете из браузера - то по умолчанию насколько я помню браузер запрещает создавать ActiveX объекты. Необходимо отдельно включать такую опцию.

код ошибки

Uncaught ReferenceError: ActiveXObject is not defined SOAPClient.js:183
user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: http://softex-iis:8896/0/configuration/c1a08ef0172dd11fc04cad296e761a3e/SOAPClient.js
 line: 183
 message: Uncaught ReferenceError: ActiveXObject is not defined 
 date: Fri Sep 19 2014 15:25:30 GMT+0400 (Московское время (зима)) 

new ActiveXObject работает только в IE и только под Windows.

Тогда есть ли возможность отключить проверку SSL сертификата у XMLHttpRequest?

Я не в курсе вашей задачи, но объект нужно создавать так:

xmlhttp=new XMLHttpRequest();

а не так

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

http://www.w3schools.com/xml/xml_http.asp

Объект сейчас так и создан.

try {
 
                if (window.XMLHttpRequest) {
                    var req = new XMLHttpRequest();
                    // some versions of Moz do not support the readyState property and the onreadystate event so we patch it!
                    if (req.readyState == null) {
                        req.readyState = 1;
                        req.addEventListener("load",
                            function () {
                                req.readyState = 4;
                                if (typeof req.onreadystatechange == "function")
                                    req.onreadystatechange();
                            },
                            false);
                    }
                    return req;
                }
                if (window.ActiveXObject)
                    return new ActiveXObject(SOAPClient._getXmlHttpProgID());
            }
            catch (ex) {
            }
            throw new Error("Your browser does not support XmlHttp objects");

У ActiveX есть метод .setOption(2, 13056) который отключает проверку SSL сертификатов.
Есть ли аналог для объекта созданного следующим образом
var req = new XMLHttpRequest();

Поискал в интернете - вроде как нет.

Показать все комментарии