Msxml3 dll ошибка при вызове метода контекста

Ошибка при вызове метода контекста (send): Отказано в доступе

Ошибка произошла при использовании сервиса геокодирования Яндекса (в рамках задачи получения ближайших станций метро по адресу)

Быстрый переход

  • Полный текст
  • Анализ вариантов
  • Решение:
    • Пример кода

Полный текст

Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Отказано в доступе

Анализ вариантов

1. Найденное на просторах интернета решение добавить «www.» в строку,  привело к другой ошибке (отсутствию ресурса, да и как выяснилось там Ошибка происходила на Open).

2. Изменился адрес или формат запроса.

Зайдя на страницу описания сервиса, в глаза бросилось, что Яндекс перешел  https. (На этапе проверки в браузере, не обратил внимание на redirect c http).

Решение:

Перешел к уже отлаженному на https «Winhttp», возможно свойства Option применимы и XMLHTTP, т.к. остальные, используемые методы и свойства, совместимы.

Пример кода

XMLHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
XMLHttp.Option(2,"UTF-8");
XMLHttp.Option(4, 13056); //intSslErrorIgnoreFlags
Попытка
	XMLHttp.Open("GET", Запрос, Ложь,login,Password);
Исключение
	Ошибка = ОписаниеОшибки();
	Сообщение = Новый СообщениеПользователю;
	Сообщение.Текст = "Ошибочный OPEN "+Ошибка+"("+Запрос+")";
	Сообщение.Сообщить();
        Возврат Ложь;
КонецПопытки;	
//Отправка запроса      
Попытка
	XMLHttp.Send();	
Исключение
КонецПопытки;

Клиент получает ту рекламу, которую он заслуживает!

   falselight

08.09.16 — 12:00

Подскажите пожалуйста как избавиться от этой ошибки:

    //

    УРЛ = «ссылка» + СокрЛП(ЭлементыФормы.url.Значение);

    ХМЛХТТП = ПолучитьCOMОбъект(«», «Microsoft.XMLHTTP»);

    ХМЛХТТП.Open(«GET», УРЛ, Ложь);

    ХМЛХТТП.Send(Null);  

    Пока ХМЛХТТП.Status <> 200 Цикл

        Состояние(«Ждем…»);

    КонецЦикла;

    //ТегНачалоРезультата     = «<parents>»;

    //ТегКонецРезультата         = «</parents>»;

    //ТегНачалоРезультата2     = «<id>»;

    //ТегКонецРезультата2     = «</id>»;

    //ТегНачалоПоля     = «<» +     ТегПоляНаСайте + «>»;

    //ТегКонецПоля     = «</» +     ТегПоляНаСайте + «>»;

    ТекстОтвета = ХМЛХТТП.ResponseText;

    //

{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (send)

    ХМЛХТТП.Send(Null);  

по причине:

Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.

   Serginio1

1 — 08.09.16 — 12:04

Аналог null в 1С это неопределено

   Cyberhawk

2 — 08.09.16 — 12:05

(1) Аналог, да не аналог и не везде :)

   Serginio1

3 — 08.09.16 — 12:06

(2) В ВК кстати Null

   falselight

4 — 08.09.16 — 12:13

работает на других функциях с null

я решил проверить обработкой, выдает ошибку

на метод send, что нужно исправить?

   sapphire

5 — 08.09.16 — 12:16

(0)

https://msdn.microsoft.com/ru-ru/library/ms536736.aspx

send method

Sends an HTTP request to the server and receives a response.

Syntax

XMLHttpRequest.send(varBody);

Parameters

varBody [in, optional]

Type: any

Any that specifies the body of the message being sent with the request.

Value    Meaning

ArrayBuffer

A binary data. See FileReader.readAsArrayBuffer.

blob

A Blob (binary data object).

Document

A documentnode.

ArrayBufferView

A typed array view of an ArrayBuffer.

string

A DOMString.

FormData

A FormData object

Как видим, NULL там нет :)

   falselight

6 — 08.09.16 — 12:17

(1) если ставить неопределено за место null таже ошибка

   sapphire

7 — 08.09.16 — 12:17

+(5) Но, поскольку varBody optional, то,

ХМЛХТТП.Send();

   falselight

8 — 08.09.16 — 12:17

(0) а что там должно быть?

   sapphire

9 — 08.09.16 — 12:18

(6) Не ставьте вообще ничего

   falselight

10 — 08.09.16 — 12:18

(9) попробую

   falselight

11 — 08.09.16 — 12:21

(9) ругается

{Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (send)

    ХМЛХТТП.Send();  

по причине:

Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.

   falselight

12 — 08.09.16 — 12:21

что то не так!!!

   Serginio1

13 — 08.09.16 — 12:22

(12) Пустую строку

   sapphire

14 — 08.09.16 — 12:22

(11) Так это не потому.

Вы в УРЛ пихаете что?

УРЛ = «ссылка» + СокрЛП(ЭлементыФормы.url.Значение);

   Serginio1

15 — 08.09.16 — 12:22

   sapphire

16 — 08.09.16 — 12:23

+(14) Любой браузер ругнется на такой урл

   falselight

17 — 08.09.16 — 12:27

(16) то что я ложу в УРЛ пробовал в браузере он возвращает номер, то есть работает

   falselight

18 — 08.09.16 — 12:32

брал с отладчика с табло, вставлял в строку браузера

   sapphire

19 — 08.09.16 — 12:34

(17) НЕ ВЕРЮ (с)

   sapphire

20 — 08.09.16 — 12:35

(18) значение УРЛ в студию.

   Serginio1

21 — 08.09.16 — 12:35

(18) А там по аналогии с 1С

xhr.open(‘POST’, ‘/server’, true);

а в Send ресурсы

   falselight

22 — 08.09.16 — 12:37

   Serginio1

23 — 08.09.16 — 12:38

   Serginio1

24 — 08.09.16 — 12:39

А попробуй

ХМЛХТТП.Open(«GET», «http://www.reestr35.ru/admin/offline_func.php»;, Ложь);

    ХМЛХТТП.Send(«?act=add_redirect&url=http://ya.ru»;);

   sapphire

25 — 08.09.16 — 12:43

(22)

УРЛ = «http://www.reestr35.ru/admin/offline_func.php?act=add_redirect&url=http://ya.ru»;;

ХМЛХТТП = ПолучитьCOMОбъект(«», «Microsoft.XMLHTTP»);

ХМЛХТТП.Open(«GET», УРЛ, Ложь);

ХМЛХТТП.Send(Null);  

Пока ХМЛХТТП.Status <> 200 Цикл

     Состояние(«Ждем…»);

КонецЦикла;

ТекстОтвета = ХМЛХТТП.ResponseText;

У меня работает.

   falselight

26 — 08.09.16 — 12:46

(25) почему у меня может быть ошибка?

   falselight

27 — 08.09.16 — 12:54

(26) не подскажете? если все одинаково, то дело в сервере?

   Serginio1

28 — 08.09.16 — 12:57

   falselight

29 — 08.09.16 — 12:58

(28) попробовал на своем компе, тоже самое, ошибка

   Serginio1

30 — 08.09.16 — 12:59

   falselight

31 — 08.09.16 — 12:59

(28) все же не понимаю как мне устранить эту ошибку? (

   falselight

32 — 08.09.16 — 13:00

(30) (24) в смысле?

   falselight

33 — 08.09.16 — 13:01

(30) но вы говорите же что у вас выполняется все

   Serginio1

34 — 08.09.16 — 13:07

врап=новый COMОбъект(«NetObjectToIDispatch45»);

    HttpClient=Врап.ПолучитьТипИзСборки(«System.Net.Http.HttpClient»,»System.Net.Http.dll»);

  
  
  handler = врап.СоздатьОбъект(«System.Net.Http.HttpClientHandler»);

  DecompressionMethods= Врап.ПолучитьТип(«System.Net.DecompressionMethods»);

  handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate) ;

  
  Клиент=Врап.СоздатьОбъект(HttpClient,handler);

  УРЛ = «http://www.reestr35.ru/admin/offline_func.php?act=add_redirect&url=http://ya.ru»;;

  Стр=Клиент.GetStringAsync(УРЛ).Result;

  Сообщить(Стр);

//Клиент.Dispose();

  Врап.ЗакрытьРесурс(Клиент);

Выдает

Your IP (хх.ххх.х.ххх) is not allowed.

   falselight

35 — 08.09.16 — 13:09

(34) да если пробовать как в 24, тоже

   Serginio1

36 — 08.09.16 — 13:12

(33) Это не я а 25

   Serginio1

37 — 08.09.16 — 13:13

(32) Попробуй 15+30

   falselight

38 — 08.09.16 — 14:14

(36) узнал что такое бывает на сервере иногда

то есть в иной период возможно сработает, как в (0)

   Serginio1

39 — 08.09.16 — 14:22

(38) Побробуй 37 для успокоения души

   Serginio1

40 — 08.09.16 — 14:23

38 при этом из браузера читает?

   falselight

41 — 08.09.16 — 14:30

(39) пока меня выкинуло с сервера и не пускает (((( ожидаю когда наладится если

(24) вот это сработало у меня на компе, выдав результат Your IP (хх.ххх.х.ххх) is not allowed, так как там можно только с сервера, я хотел проверить это на сервере и меня выбросило

то есть при (24) ошибки той нет, и по коду идет дальше

(40) (0) + ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать

   Serginio1

42 — 08.09.16 — 14:39

(41) Значит у тебя проблема с библиотеками на сервере. Небось 64 разрядны. А почему HTTPСоединеие не используешь?

Почему 37 не хочешь попробовать?

   eklmn

43 — 08.09.16 — 14:57

прокси все ломает…

   sapphire

44 — 08.09.16 — 14:59

(42) Нет не с библиотеками.

   Serginio1

45 — 08.09.16 — 15:01

(44) Возможно. Я таким анахронизмом давно не занимаюсь.

   sapphire

46 — 08.09.16 — 15:02

(41) У меня тоже именно это (Your IP (хх.ххх.х.ххх) is not allowed) и выдало.

О чем это говорит, что разрешен вход либо под определенным агентом с определенной подсети, иначе браузер не выдавал бы

числа  <<ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать>>.

   falselight

47 — 08.09.16 — 15:53

(42) на сервере 64х разрядная система

(46) да работать это будет только на сервере

   falselight

48 — 08.09.16 — 15:54

(42) (37) там много написано, изучать неделю только нужно, мне дали пример кода и что делать объяснили, но вот из за ошибки на send ничего не работает

   sapphire

49 — 08.09.16 — 15:54

(47) неа, иначе как ты видишь ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать.

   falselight

50 — 08.09.16 — 15:55

(49) я вижу это в браузере на сервере, там только работает

   falselight

51 — 08.09.16 — 15:57

но вот из 1с ломается на методе send, пока ни разу не сработало

то что в (24) возвратило <?xml version=»1.0″ encoding=»UTF-8″?> то есть это не подойдет наверное, так как это не то что нужно

   falselight

52 — 08.09.16 — 16:00

{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (send)

    ХМЛХТТП.Send(Null);  

по причине:

Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.

||

остается

   Serginio1

53 — 08.09.16 — 16:18

   Serginio1

54 — 08.09.16 — 16:20

Рядом с NetObjetToIDispatch45.dll лежит RegAsm.bat

его нужно запустить от администратора. Там делов меньше минуты

   falselight

55 — 08.09.16 — 16:56

(54) ну я не администратор на сервере, мне сказали что метод сенд иногда не работает, иногда работает, я не пойму этого всего пока

  

falselight

56 — 08.09.16 — 16:57

(54) я не в теме этого всего, с этим всем нужно разбираться

Автор Сообщение

Заголовок сообщения: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 17:14 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Пытаюсь достучаться к базе биллинга (версия 5.2) из 1С через https посредством MSXML2.XMLHTTP по аналогии с описанным в документации биллинга версии 4.4 способом. Просто потому, что для новых версий соответствующий раздел отсутствует в документации.
Метод Send возвращает ошибку 2146697208 (пытаюсь просто прочитать таблицу договоров точно так же как в клиенте через SQL-редактор).
В режиме отладки клиента биллинга получил нужную строку запроса — она несколько отличается от описанной в старой документации. Но приведение в соответствие с ней не изменило результата.
Может ли это быть из-за того, что в строке запроса присутствует составляющая &BGBillingSecret= с каким-то ключом?
Вместо неё я передаю &user= и &pswd= (как описано).
Что я могу делать не так?
Работает ли вообще в версии 5.2 подобный доступ к таблицам биллинга через https из внешних систем?

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 18:29 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

«Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Системная ошибка: -2146697208»
Если подключаю «MSXML2.XMLHTTP.4.0», то (msxml3.dll) ожидаемо меняется на (msxml4.dll) в тексте ошибки.
Код ошибки, если верить гуглу, соответствует слишком общей ошибке, чтобы натолкнуть на конкретную мысль.
Для меня важно для начала знать — работает у кого-то в аналогичных условиях (5.2 и через https извне) или нет.
Чтобы не тратить зря время, если не работает.

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 18:46 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

В старой документации предлагается генерить такую подстроку для получения результата произвольного запроса к базе биллинга(после строки подключения):
«module=admin&action=SQLEditor&pageSize=100000&sql=» +query . Ну и плюс логин/пароль.
В режиме отладки клиента биллинга 5.2 подсмотрел такую строку:
«module=sqleditor&action=SQLEditor&pageSize=25&base=main&sql=» + query. Порядок параметров подогнал под старый пример для наглядности.
Т.е. как минимум поменялось имя модуля. Ну и еще параметр BGBillingSecret смущает, о котором я писал в сабже.
Ошибку, похоже, возвращает одну и ту же в случае если сервер биллинга отвергает запрос.

Вернуться к началу

Профиль  

aardvark

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 19:40 

Не в сети



Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27

забейте на secret он используется только для клиента. С 4.4 мог поменяться формат xml выдаваемый биллингом. с 4.6 на 5.1 точно немного менялся для договоров.
Проверьте разницу между тем что у вас msxml хочет и что ему выдают.

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 19:54 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

aardvark писал(а):

забейте на secret он используется только для клиента. С 4.4 мог поменяться формат xml выдаваемый биллингом. с 4.6 на 5.1 точно немного менялся для договоров.
Проверьте разницу между тем что у вас msxml хочет и что ему выдают.

Ага! На это я и надеялся (относительно secret).
В том-то и проблема, что я не могу никакого xml получить :(
Метод send при получении результата POST валит исключение :(

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 20:11 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Делаю буквально следующее:

Open(«POST», «https://СайтБиллинга:ПортБиллинга/bgbilling/executer?», 0)
setRequestHeader(«content-type», «application/x-www-form-urlencoded»)

Дальше хочу послать простейший запрос для пробы — «select id from contract»
Сначала делал как в старой доке:

Send( «user=Пользователь&pswd=Пароль&module=admin&action=SQLEditor&pageSize=100000&sql=ТекстЗапросаUrlencoded»)

Болт. И что уже только не делал. Результат один и тот же…

Вернуться к началу

Профиль  

Phricker

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 18 июн 2012, 21:52 



Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5851
Карма: 472

Код:

Функция ПослатьЗапрос( query )
    // URL сервера биллинга   
   url=»http://127.0.0.1:8080/bgbilling/executer?»;
    // логин и пароль пользователя биллинга
    user=»password»;
    pswd =»login:)»;
   Попытка 
        odd=Новый COMОбъект(«MSXML2.XMLHTTP»);   
        odd.Open(«Post», url, 0);
        odd.setRequestHeader(«content-type», «application/x-www-form-urlencoded»);

                i = odd.Send( «user=»+ user + «&pswd=»+ pswd + «&» + query );
        od   =  odd.responseXML;

                // распечатка запросов и ответов, можно включить для отладки
      //Сообщить( «Урл: » + url+»user=»+ user + «&pswd=»+ pswd + «&» + query) ;
      //Сообщить( «Запрос: ‘» + query + «‘»);
      //Сообщить( «Результат: » + od.xml );       
    Исключение
        Сообщить( «Ошибка: » + ОписаниеОшибки() );       
    КонецПопытки;   

        Возврат od;   
КонецФункции

Функция SQLЗапрос( query )
    Возврат ПослатьЗапрос( «module=sqleditor&action=SQLEditor&pageSize=100000&sql=» + URLEncode( query ) );
КонецФункции

Функция ПолучитьСписокКлиентов()
   SQL= «SELECT c.id, c.title from contract»;
   ans = SQLЗапрос( SQL ) ;
   clients = ans.SelectNodes( «data/table/data/row»);
   Возврат clients;
КонецФункции

Module=admin в 5.2 уже не работает кстати :)
Помню как обновлялся на новый год на 5.2 а потом меня бухи будили когда выгрузку надо было делать :lol:

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось… © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn

Вернуться к началу

Профиль  

skyb

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 04:34 



Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241

Phricker писал(а):

Помню как обновлялся на новый год на 5.2 а потом меня бухи будили когда выгрузку надо было делать :lol:

первого числа в 8 утра? :-D

_________________

Код:

  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45

Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования — пьяный мастерстер
Разработка мобильных приложений

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 13:37 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Phricker писал(а):

Module=admin в 5.2 уже не работает кстати :)
Помню как обновлялся на новый год на 5.2 а потом меня бухи будили когда выгрузку надо было делать :lol:

Так тоже делал. Та же самая ошибка.

Но я вроде как докопался до корня зла.
Наконец, сообразил сделать то, что следовало сделать сразу.
Подставил сгенерированную строку запроса тупо в браузер.
А он мне и выдал — «Сертификат не является доверенным для этого сайта бла-бла-бла» (я ведь через https стучусь). Ежели жмешь — все равно выполнить запрос, тогда браузер таки возвращает правильную xml-ку. Но «https» в строке браузера (Chrome) демонстративно перечеркивает.
Т.е. ошибку именно из-за этого возвращает, как я понимаю.
Как это можно обойти самым простым и тупым способом (не покупая кашерного сертификата и т.п)? Извините за возможно ламерский запрос, я в интернет-технологиях не настоящий сварщик.

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 13:39 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

skn писал(а):

может вам лучше напрямик в БД через ODBC драйвер ломиться?

Так и делаю для других биллингов. Это запасной вариант.
Просто как правило биллинги не в локалке и приходится еще костыли тулить.
Через http вроде как более кашерно.

Вернуться к началу

Профиль  

dimOn

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 13:54 



Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244

рукашы писал(а):

«Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Системная ошибка: -2146697208»
Если подключаю «MSXML2.XMLHTTP.4.0», то (msxml3.dll) ожидаемо меняется на (msxml4.dll) в тексте ошибки.
Код ошибки, если верить гуглу, соответствует слишком общей ошибке, чтобы натолкнуть на конкретную мысль.
Для меня важно для начала знать — работает у кого-то в аналогичных условиях (5.2 и через https извне) или нет.
Чтобы не тратить зря время, если не работает.

а… понял… ошибка 1С а не биллинга.
ну так сам url то доступен вообще 1с-кой? в браузере вы его можете открыть?

upd , ок

_________________
I’m clever. I’ve got a computer.

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 14:00 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

dimOn писал(а):

а… понял… ошибка 1С а не биллинга.
ну так сам url то доступен вообще 1с-кой? в браузере вы его можете открыть?
upd , ок

Ошибка не биллинга. Но и не 1С. Ошибка при работе через MSXML2.XMLHTTP.
Сертификат сделал доверенным. Любой браузер теперь возвращает правильный ответ без всяких оговорок.
Но при попытке спросить через MSXML2.XMLHTTP эту же фигню по-прежнему возвращает ошибку.
Может, есть еще какие-то тонкости c https через MSXML2.XMLHTTP?
Кто еще забирает данные в 5.2 через https с помощью MSXML2.XMLHTTP?
Отзовитесь!

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 15:18 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Amir писал(а):

Не работает только через HTTPS, или через HTTP тоже, или через HTTP проверить нет возможности?
Брандмауэр не закрывает доступ 1C’у для подключения к биллингу?
URL правильный? Протокол https, порт https, метод POST, в URL нет никаких параметров и вопросиков, как при GET, т.е. «https://127.0.0.1:8443/bgbilling/executer»?

Прочитал, что подобная ошибка типична для многих сервисов, когда к ним тупо закрыт доступ (брендмауэром, например). Перепробовал все что мог — отключал брендмауэр, антивирус, в политиках безопасности лазил…
Через http проверить нет возможности. Куда еще можно заглянуть?

Код:

url = «https://Сайт:8443/bgbilling/executer?»;
odd.Open(«POST», url, 0);
odd.setRequestHeader(«content-type», «application/x-www-form-urlencoded»);
i = odd.Send(«user=Юзер&pswd=Пароль&module=sqleditor&action=SQLEditor&pageSize=100000&sql=%53%45%4C%45%43%54%20%69%64%2C%20%74%69%74%6C%65%20%66%72%6F%6D%20%63%6F%6E%74%72%61%63%74»;

Т.е. простой запрос на выборку всех договоров. При вызове метода Send возникает исключение.

Вернуться к началу

Профиль  

Amir

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 16:51 



Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256

Пишут:

Цитата:

Для того чтобы 1С смогла работать с самоподписным сертификатом описание корневого сертификата надо добавить в файл cacert.pem (в каталоге программы bincacert.pem). Описание можно сгенерировать с помощью бесплатной утилиты openssl.

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 18:31 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Amir писал(а):

Пишут:

Цитата:

Для того чтобы 1С смогла работать с самоподписным сертификатом описание корневого сертификата надо добавить в файл cacert.pem (в каталоге программы bincacert.pem). Описание можно сгенерировать с помощью бесплатной утилиты openssl.

Сделал. Не помогло. Что неудивительно, в принципе.
Это, как я понимаю, рецепт для работы с https через встроенную в 1С обертку для этого дела (есть там соответствующий класс). А я работаю через MSXML2.XMLHTTP (т.е. точно также, как из любого скриптового языка).
Пробовал с разных компов запускать (предварительно установив самоподписанный сертификат как доверенный).
Результат тот же… Разве что вместо кода ошибки возвращает её текстовое описание — «Ошибка загрузки указанного ресурса».
Попробую это дело полностью на JavaScript переписать, чтобы исключить вопрос отношения 1С к этой проблеме…

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 19:58 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

В общем, 1С тут точно не причем.
Написал простейший JScript из 4 строчек, ошибка та же самая:

Код:

Connect = new ActiveXObject(«MSXML2.XMLHTTP»);
Connect.Open(«POST», «https://Сайт:8443/bgbilling/executer?»,0);
Connect.setRequestHeader(«content-type», «application/x-www-form-urlencoded»);
Connect.send(«user=Логин&pswd=Пароль&module=sqleditor&action=SQLEditor&pageSize=100000&sql=%53%45%4C%45%43%54%20%69%64%2C%20%74%69%74%6C%65%20%66%72%6F%6D%20%63%6F%6E%74%72%61%63%74»);

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 19:59 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Что еще можно попробовать, куда посмотреть?
Руки опускаются :(

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 19 июн 2012, 20:03 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Сертификат — да, самоподписанный.
Но он добавлен в список доверенных корневых и промежуточных центров сертификации (браузеры возвращают результат без вопросов). Может, для MSXML2.XMLHTTP еще нужно где-то его прописать?

Вернуться к началу

Профиль  

рукашы

Заголовок сообщения: Re: Доступ к таблицам биллинга извне. Изменился протокол?

СообщениеДобавлено: 21 июн 2012, 19:32 

Не в сети



Зарегистрирован: 18 июн 2012, 15:06
Сообщения: 18
Карма: 0

Вернуться к началу

Профиль  

выскакивает постоянно 2 ошибки:
Или такая:

Код
{Обработка.АРМОбменСЕАИСТО.МодульОбъекта(134)}: Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Ошибка загрузки указанного ресурса.

Или такая:

Код
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>DK_CREATE_ERROR</faultcode><faultstring>Сведения о данном ТС уже были переданы сегодня</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Причем в еисто этот авто не зарегитрирован.

Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5 (5.0.08.04)

Изменено: Тимофей Синичкин04.04.2014 14:52:13

Обновлено 28.11.2022

directum logoДобрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. В прошлый раз мы с вами решали проблему, когда у нас тормозил Directum на терминальной ферме. В сегодняшней ситуации я опять вернусь к данному программному обеспечению и покажу, что мне удалось раскопать в ситуации, что при попытке создать договорной документ и выбрать его из конструктора документов, я получаю предупреждение «Ошибка поддержки безопасных каналов«. Давайте смотреть в чем дело и что можно поменять, чтобы все заработало.

Устранение ошибки поддержки безопасных каналов

Данную проблему я поймал в Directum на своей RDS-ферме. Стало увеличиваться количество обращений со стороны пользователей, что они при попытке создания договорного документа стали видеть ошибку:

Ошибка поддержки безопасных каналов

Ошибка поддержки безопасных каналов

В логах просмотра событий я ничего толково не обнаружил, начал копать дальше.

  • 1️⃣В интернете все копипастят друг у друга, что в данной ситуации помогает включение TLS, но я проверил и правки в реестре не дают ничего, тем более у меня уже они были активированы, я с этим еще сталкивался, когда получал ошибку «Unable to resolve package source» при установке модуля PowerShell.
  • 2️⃣Далее если у вас есть антивирусное решение, то я вам советую его отключить на время, пока будите производить тестирование. Антивирус Касперского тут так же был ни причем
  • 3️⃣Далее, что я обычно проверяю, это не производилась ли установка нового софта или обновлений Windows. Обязательно выведите список установленных программ и посмотрите, нет ли там чего-то нового. Бывает ситуация, что некоторые программы могут конфликтовать при совместном использовании, например очень частая ситуация с КриптоПРО, старыми версиями. Если она есть, то попробуйте ее удалить.
  • 4️⃣Проверьте не было ли установки новых обновлений, это можно посмотреть в истории параметров Windows или в оснастке appwiz.cpl.

История установки обновлений Windows Server 2019

В результате на Windows Server прилетело KB5018411 на клиентские Windows 10 и Windows 11 прилетело kb5018410, что в итоге делать, на текущий момент просто удалять и ждать новых обновлений от Microsoft.

Если у вас есть поддержка от Directum, то стоит задать вопрос туда возможно. что-то подскажут, у меня такой возможности нет

Чтобы удалить KB5018411  я воспользуюсь командной строкой и утилитой wusa. Введите:

wusa /uninstall /kb:5018411

У вас выскочит окно с подтверждением удаления данного обновления. Нажмите ок, начнется процесс.

Удаление обновления Windows через WUSA

Так же вы можете сделать, и тихое удаление добавим ключи: /quiet /norestart

wusa /uninstall /kb:5018411 /quiet /norestart

Удаление автономного пакета Windows

После этого мой Directum заработал, посмотрю что будет со следующими обновлениями, может Mixrosoft пофиксит это.

Обновление 28.11.2022

Как и ожидалось, данная ошибка была устранена установкой ноябрьских обновлений KB5019964. С вами был Иван Семин, автор и создатель IT проекта Pyatilistnik.org.

Цитата:

MWWRuza ➤ Отправляю GET запрос

Откуда отправляешь? это не какое-то старое … которое с сертификатами не дружит?
Решил погуглить… так и есть

Как оказалось, далеко не все знают, что причина этих ошибок кроется в обновлении протокола шифрования на стороне сайта. Сейчас повсеместно начинает использоваться протокол TLS версии 1.2, поддержка которого в 1С полноценно начата с релиза 8.3.9

Поэтому для тех, кто использует встроенные средства 1С для работы с сайтом, достаточно обновить релиз 1С предприятия, и проблема решится сама собой.

Но часто мне попадаются обработки работы с сайтом, которые используют средства Windows: объекты класса «WinHTTP.WinHTTPRequest.5.1» или «MSXML2.ServerXMLHTTP.6.0» и т.п. В этом случае необходимо активировать поддержку протокола TLS 1.2 в самой Windows.

Для этого достаточно внести в реестр следующие записи, после чего перезагрузить Windows:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2]

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]
«DisabledByDefault»=dword:00000000
«Enabled»=dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]
«DisabledByDefault»=dword:00000000
«Enabled»=dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsWinHttp]
«DefaultSecureProtocols»=dword:00000800

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionInternet SettingsWinHttp]
«DefaultSecureProtocols»=dword:00000800

Небольшое замечание к двум последним параметрам. В указанном коде указано значение 00000800 — это значение активирует протокол TLS 1.2 по умолчанию. Если необходимо использовать TLS 1.1 то значение необходимо заменить на 00000200, а если оба протокола, то на 00000A00.

У меня была одна и та же проблема, и я попробовал множество решений, предлагаемых на разных должностях, но до сих пор не имел успеха. Я подробно расскажу о решении, которое сработало для меня со ссылкой на проблему, поскольку в моем случае это был PayPal. Я не открыл новую должность, так как это может быть не просто проблема с PayPal в будущем.

Решение представляет собой комбинацию нескольких решений, связанных с stackoverflow, с аналогичными проблемами, но это, пожалуй, самое лучшее, что можно добавить.

Проблема

Попытка протестировать IP-адрес PayPal в Windows Server 2008 с использованием классического ASP с помощью Sandbox PayPal возвращает ошибку «Ошибка в поддержке безопасного канала».

Почему это проблема

PayPal требует, чтобы все коммуникации с их системами были максимально безопасными. Вам потребуется соединение, которое является TLS 1.2. Windows Server 2008 по умолчанию не является TLS 1.2.

PayPal бросил некоторую путаницу в микс, сказав, что вам нужен сертификат Verisign G5, который вы делаете для корневого сервера, а не для домена, на котором запущен ваш код. Я также не устанавливал никаких сертификатов PayPal, поскольку я не использую API. Я не думаю, что вам нужны ваши коммиты с сайта HTTPS, хотя мой домен защищен с помощью стандартного сертификата GoDaddy EV, хотя после этого я прошел тест на сайте без HTTPS, и это тоже сработало.

Мое решение

  1. Сначала проверьте, какой тип безопасности используется вашим сервером через Лаборатории SSL . Это должно быть TLS1.2 или выше , а не другие TLS или SSL. Он также должен иметь шифрование SHA256. Возможно, вам потребуется исправить сервер: https://support.microsoft.com/en- нас/кб/3106991 .

  2. Используйте IISCrypto для установки правильных TLS и шифров . Я использовал изменения реестра, предложенные в другом месте в stackoverflow, но это не сработало и на самом деле полностью напортачивало мой сервер для всего, используя сообщения HTTPS, а не только для моего сайта разработки! IISCrypto также обрабатывает шифры.

  3. Убедитесь, что ваш пул приложений v4.5 , что само по себе неясно, потому что IIS может предлагать только v4.0 в качестве опции. Однако это, вероятно, фактически v4.5. Вы можете проверить это с помощью https://msdn. microsoft.com/en-us/library/hh925568(v=vs.110).aspx .

  4. В вашем коде вам нужно использовать Server.CreateObject ("MSXML2.XMLHTTP.6.0") , а не Server.CreateObject ("MSXML2.ServerXMLHTTP.6.0") , как указано выше.

Теперь я понятия не имею, почему не-сервер XMLHTTP работает так, как будто это противоречит документации, стоящей за ним. Прямо сейчас, после 10 дней стресса, паники и разочарования, мне все равно! Надеюсь, это полезно для других.

Поиск решения был кошмаром, поэтому я добавлю несколько фраз ниже, чтобы помочь другим в поиске:

Ошибка IPN PayPal с ошибкой сервера

Ошибки PayPal SSL Windows 2008

Произошла ошибка в поддержке защищенного канала

классические ошибки протокола ASP PayPal Sandbox

I’d like to publicly thank Rackspace and GoDaddy for their help with this. I’d like to publicly state that I found paypal have the worst technical support ever and just do not care, constantly pointing to their own docs, if they ever respond. They say they’ve been sending emails out about this since September 2014 but I never received one. These new requirements are active on the PayPal Sandbox but go live in September 2016. I only came across it as developing a new solution so needed the sandbox — if you’re running live you won’t know about Проблема until it hits and then you’re dead in the water. Test your entire payment system on the PayPal sandbox asap is my advice!!

Ошибка при вызове метода контекста (Send): Произошла исключительная ситуация (WinHttp.WinHttpRequest): Ошибка поддержки безопасных каналов

Использую вот такую процедуру

WinHttp = Новый COMОбъект(«WinHttp.WinHttpRequest.5.1»);

    WinHttp.Option(2,»utf-8″);                  

    WinHttp.Open(«GET», «https://api.unisender.com/ru/api/importContacts?format=json&api_key=»; + Ключ, 0);  

    

    WinHttp.SetRequestHeader(«Accept-Language», «ru»);

    WinHttp.SetRequestHeader(«Accept-Charset», «utf-8»);

    WinHttp.setRequestHeader(«Content-Language», «ru»);

    WinHttp.setRequestHeader(«Content-Charset», «utf-8»);

    WinHttp.setRequestHeader(«Content-Type», «application/x-www-form-urlencoded; charset=utf-8»);    

    
    СтрокаЗапроса = «https://api.unisender.com/ru/api/importContacts?format=json&api_key=6qwibe9uewm7x6n9karscy6a7ze73q6tic3s65ty&field_names[0]=email&field_names[1]=email_list_ids&field_names[2]=Name&field_names[3]=will&field_names[4]=DR&field_names[5]=DR_end&data[0][0]=test@mail.ru&data[0][1]=15231245&data[0][2]=Петров Джон Биллович&data[0][3]=3555&data[0][4]=28.11.2018 0:00:00&data[0][5]=28.11.2018 0:00:00»;

        Попытка

            WinHttp.Send(СтрокаЗапроса);

        Исключение

            Сообщить(ОписаниеОшибки());

        КонецПопытки;

Причем если запуская с компа на win 8, проблем нет, но если запускаю с сервера Win 2008 R2, то такая вот фигня


Offline

YuryL

 


#1
Оставлено
:

6 февраля 2014 г. 16:06:29(UTC)

YuryL

Статус: Новичок

Группы: Участники

Зарегистрирован: 06.02.2014(UTC)
Сообщений: 5
Российская Федерация
Откуда: Kirov

Доброго времени суток!

На Windows 7 установлено следующее ПО КриптоПро:
Версия ядра — 3.6.5364 KC1
Версия продукта — 3.6.7491

В реестр импортирован личный сертификат, через оснастку установлен в хранилище сертификатов.

Далее js-скриптом пытаемся осуществить запрос к контент-провайдеру:

Код:

function start()
{
    var strRequest = "SomeRequestHere";
         
   WScript.Echo("Sending request...");
   strResult = doRequest(strRequest); 
   WScript.Echo(strResult);   
   WScript.Echo("Done!");   
}
 

function doRequest(sReqBody)
{
 
    var HTTPREQUEST_PROXYSETTING_DEFAULT = 0;
    var HTTPREQUEST_PROXYSETTING_DIRECT = 1;
    var HTTPREQUEST_PROXYSETTING_PROXY = 2;
    var strResult;
 
    try
 {
// Create the WinHTTPRequest ActiveX Object.
     var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
     
//Set Proxy Server if necessary
      WinHttpReq.SetProxy( HTTPREQUEST_PROXYSETTING_PROXY, "proxy.server.ru:3128", "*.e-i.ru");
     
     
//Create an HTTP request
 WinHttpReq.Open("POST", "https://www.rb-ei.com/cpuEnquiry.asp", true);     
    
//Select a client certificate
//CN = Иванов Иван Иванович
 
      WinHttpReq.SetClientCertificate("CURRENT_USERMyИванов Иван Иванович");
      WScript.Echo("Certificate is: " + "CURRENT_USERMyИванов Иван Иванович");
      
       
     WinHttpReq.SetRequestHeader("Content-Type","application/x-www-form-urlencoded; Charset=windows-1251");
          
//  Send the HTTP request
     WinHttpReq.Send(sReqBody);
     WinHttpReq.WaitForResponse();
           
     WScript.Echo("Request status: " + WinHttpReq.StatusText);
     strResult = WinHttpReq.ResponseText;
     WScript.Echo(strResult);
 }
    catch (objError)
 {
     var err = objError + "n";
     err += "WinHTTP returned error: " + (objError.number & 0xFFFF).toString() + "nn";
     err += objError.description;
     WScript.Echo(err);
 }
  
//Return the response text
    return strResult;
}
 

//Start the script
 
start();

В ответ получаю ошибку: WinHTTP returned error: 12157. Ошибка поддержки безопасных каналов
Причем заход через IE по адресу https://www.rb-ei.com/cpuEnquiry.asp успешен.
Тот же пример через WinHTTPна любой другой адрес по https, не использующий криптопро также успешен.
Служба поддержки контент-провайдера помочь не может, переадресовала на вас для решения вопроса.


Вверх

Offline

YuryL

 


#2
Оставлено
:

6 февраля 2014 г. 16:40:33(UTC)

YuryL

Статус: Новичок

Группы: Участники

Зарегистрирован: 06.02.2014(UTC)
Сообщений: 5
Российская Федерация
Откуда: Kirov

Дополню. Данная проблема проявляется только на ресурсах, которые требуют авторизацию на сертификатах.
Если протестировать на ресурсе без авторизации, но использующих SSL на ГОСТах (пример https://icrs.nbki.ru/main/), то все ок.


Вверх

Offline

Vladislav Osmanov

 


#3
Оставлено
:

6 февраля 2014 г. 18:18:11(UTC)

Vladislav Osmanov

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 19.08.2009(UTC)
Сообщений: 8

Поблагодарили: 4 раз в 4 постах

Юрий, добрый вечер.

Судя по всему, это не совсем js, как Вы пишите, а Windows Script. Как он у вас выполняется?

Попробуйте использовать подключение через XMLHttpRequest с исполнением кода в браузере Internet Explorer.

Примерный код:

Код:

	var request = new XMLHttpRequest();

	request.open("GET", "https://www.rb-ei.com/cpuEnquiry.asp", false);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=windows-1251");
	request.send(sReqBody);

	if (request.readyState == 4) {
		if (request.status == 200) {
			//Success
			var svcResponse = request.responseText;
		}
		else {
			//Failure
		}
	}

Браузер сам предложит Вам выбрать клиентский сертификат.


Вверх

WWW


Offline

YuryL

 


#4
Оставлено
:

6 февраля 2014 г. 18:58:19(UTC)

YuryL

Статус: Новичок

Группы: Участники

Зарегистрирован: 06.02.2014(UTC)
Сообщений: 5
Российская Федерация
Откуда: Kirov

Автор: Vladislav Osmanov Перейти к цитате

Юрий, добрый вечер.

Судя по всему, это не совсем js, как Вы пишите, а Windows Script. Как он у вас выполняется?

Попробуйте использовать подключение через XMLHttpRequest с исполнением кода в браузере Internet Explorer.

Примерный код:

Код:

	var request = new XMLHttpRequest();

	request.open("GET", "https://www.rb-ei.com/cpuEnquiry.asp", false);
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; Charset=windows-1251");
	request.send(sReqBody);

	if (request.readyState == 4) {
		if (request.status == 200) {
			//Success
			var svcResponse = request.responseText;
		}
		else {
			//Failure
		}
	}

Браузер сам предложит Вам выбрать клиентский сертификат.

Владислав, спасибо за ответ!

Извиняюсь, конечно же WScript. Путем множества экспериментов пришел к такой зависимости:
Если запустить данный скрипт из под Администратора (повышение привилегий), то запрос все таки проходит. Такое ощущение что без повышения прав компонент не может получить клиентский сертификат методом WinHttpReq.SetClientCertificate.

И попутно появилась вторая проблема. Никак не могу использовать компонент для проверки ЭЦП:

Код:

function doVerify(strMessage) {
    try {
        var SignedData = new ActiveXObject("CAPICOM.SignedData");

        SignedData.Verify( strMessage, false, 0);
        return SignedData.Content;
	}
    catch (objError)
	{
	    var err = objError + "n";
	    err += "CAPICOM returned error: " + (objError.number & 0xFFFF).toString() + "nn";
	    err += objError.description;
	    WScript.Echo(err);
	}
}

Ругается что компонент не найден. Устанавливал по инструкции с вашего сайта. У меня Windows 7 x64. Неужели под эту ОС нет возможности использовать данный компонент?


Вверх

Offline

Максим Коллегин

 


#5
Оставлено
:

6 февраля 2014 г. 19:01:45(UTC)

Максим Коллегин

Статус: Сотрудник

Группы: Администраторы

Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,253
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 21 раз
Поблагодарили: 658 раз в 582 постах

в 64-х битах нет CAPIcom, на аналогичный интерфейс предоставляет наш browser плагин.

Отредактировано пользователем 6 февраля 2014 г. 19:02:26(UTC)
 | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке


Вверх

WWW


Offline

Андрей Писарев

 


#6
Оставлено
:

6 февраля 2014 г. 23:35:35(UTC)

Андрей *

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,736
Мужчина
Российская Федерация

Сказал «Спасибо»: 451 раз
Поблагодарили: 1838 раз в 1421 постах

Автор: YuryL Перейти к цитате

Ругается что компонент не найден. Устанавливал по инструкции с вашего сайта. У меня Windows 7 x64. Неужели под эту ОС нет возможности использовать данный компонент?

И браузер IE используется х64?

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

YuryL

 


#7
Оставлено
:

7 февраля 2014 г. 10:21:48(UTC)

YuryL

Статус: Новичок

Группы: Участники

Зарегистрирован: 06.02.2014(UTC)
Сообщений: 5
Российская Федерация
Откуда: Kirov

Автор: Андрей * Перейти к цитате

Автор: YuryL Перейти к цитате

Ругается что компонент не найден. Устанавливал по инструкции с вашего сайта. У меня Windows 7 x64. Неужели под эту ОС нет возможности использовать данный компонент?

И браузер IE используется х64?

Андрей, я использую данные компоненты не в браузере, а в автономных скриптах. Т.е. фактически вызываются они console-mode.


Вверх

Offline

YuryL

 


#8
Оставлено
:

7 февраля 2014 г. 11:39:15(UTC)

YuryL

Статус: Новичок

Группы: Участники

Зарегистрирован: 06.02.2014(UTC)
Сообщений: 5
Российская Федерация
Откуда: Kirov

Автор: maxdm Перейти к цитате

в 64-х битах нет CAPIcom, на аналогичный интерфейс предоставляет наш browser плагин.

Пробую использовать ваш плагин. Контент-провайдер возвращает мне документ подписанные ЭЦП в кодировке BASE64. Сертификат отправителя с открытым ключом для ЭЦП я импортировал в хранилище сертификатов.

Пробую снять ЭЦП так:

Код:

function doVerify(strSignedMessage) {
 
    var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;

    try {
        var SignedData = new ActiveXObject("CAdESCOM.CadesSignedData");
         
        SignedData.Verify( strSignedMessage, false, 0);
        return SignedData.Content;
	}
    catch (objError)
	{
	    var err = objError + "n";
	    err += "CAdESCOM returned error: " + (objError.number & 0xFFFF).toString() + "nn";
	    err += objError.description;
	    WScript.Echo(err);
	}
}

Данный код возвращает исключение: 4111 (Криптографическое сообщение не содержит всех запрошенных атрибутов).
Что я делаю не так?


Вверх
Пользователи, просматривающие эту тему

Guest (2)

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Возможно, вам также будет интересно:

  • Msvcr90 dll имя модуля ошибки
  • Msvcr90 dll office 2010 ошибка
  • Msvcr71 dll ошибка при запуске игры как исправить
  • Msvcr71 dll ошибка дальнобойщик 3
  • Msvcr120 dll ошибка при запуске ведьмак 3

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии