Тонкий клиент ошибка конструктора http соединения
Делаю подключение
На локальной базе, все супер, работает, подключается и НаСервере и НаКлиенте
На базе из веб сервиса через тонкий клиент вылетает вечно ошибка
Ошибка при вызове конструктора(HTTPСоединение)
Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;
ПоказатьНа локальной базе, все супер, работает, подключается и НаСервере и НаКлиенте
На базе из веб сервиса через тонкий клиент вылетает вечно ошибка
Ошибка при вызове конструктора(HTTPСоединение)
По теме из базы знаний
- Консоль запросов со встроенным Конструктором запросов для 1с8.3 (8.2) своими руками
- Платформа интеграции 1С с чат-ботами (Telegram, Viber, WhatsApp, Instagram, Skype, ICQ, Facebook, ВКонтакте, Одноклассники, Яндекс.Алиса, Verbox, Jivochat, Avito)
- Simple UI: простой конструктор мобильных приложений для устройств на Android. Обновление от 04.03.24 - упрощенный Python
- Обзор полезных методов БСП 3.1.4
- Экосистема 1С:Предприятие: вчера, сегодня, завтра
Найденные решения
(14) Вывело ошибку мол в безопасном режиме не будет работать. Убрал безопасный режим
//Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
//Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
//КонецПопытки;
Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"
И соответственно на возврате завершилась. Видимо в этом и была ошибка.
//Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
//Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
//КонецПопытки;
Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"
И соответственно на возврате завершилась. Видимо в этом и была ошибка.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
&НаКлиенте
Процедура МТД_ДМТД_РасчитатьСтоимостьDPDПосле(Команда)
Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;
МТД_РасчетСтоимостиДПД_1();
КонецПроцедуры
&НаСервере
Процедура МТД_РасчетСтоимостиДПД_1()
Попытка
//Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
//инвелоп = "soapenv:Envelope xmlns:soapenv="+""""+"http://schemas.xmlsoap.org/soap/envelope/"+""""+" xmlns:ns="+""""+"http://dpd.ru/ws/calculator/2012-03-20"+"""";
ЗаписьXML.ЗаписатьНачалоЭлемента("soapenv:Envelope");// xmlns:soapenv=""""http://schemas.xmlsoap.org/soap/envelope/"""" xmlns:ns=""""http://dpd.ru/ws/calculator/2012-03-20""""");
ЗаписьXML.ЗаписатьАтрибут("xmlns:soapenv", "http://schemas.xmlsoap.org/soap/envelope/");
ЗаписьXML.ЗаписатьАтрибут("xmlns:ns", "http://dpd.ru/ws/calculator/2012-03-20");//http://dpd.ru/ws/order2/2012-04-04");
ЗаписьXML.ЗаписатьНачалоЭлемента("soapenv:Header");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("soapenv:Body");
АдресЗначение = Объект["АдресДоставки" + "Значение"];
XDTOКонтактная = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(АдресЗначение, Перечисления.ТипыКонтактнойИнформации.Адрес);
АдресОтпр = Новый Структура;
АдресОтпр = ПредопределенноеЗначение("Справочник.СтруктурныеЕдиницы.ОсновнойСклад").КонтактнаяИнформация[0].Значение;
XDTOКонтактнаяОтпр = УправлениеКонтактнойИнформациейСлужебный.JSONВКонтактнуюИнформациюПоПолям(АдресОтпр, Перечисления.ТипыКонтактнойИнформации.Адрес);
НастройкаДПД = Справочники.МТД_Константы.НайтиПоРеквизиту("Ключ","ЛКДПД").Значение;
ЛогинДПД = НастройкаДПД.Логин;
ПарольДПД = НастройкаДПД.Пароль; // ПОТОМ РАСКОМЕНТИТЬ
ГородОтправления = Справочники.МТД_Константы.НайтиПоРеквизиту("Ключ","НаименованиеГородаОтправления").Значение;
ИндексПолучателя = Лев(СокрЛП(Объект.АдресДоставки),6);
Если ЗначениеЗАполнено(XDTOКонтактная.city) Тогда //(XDTOКонтактная.Состав.Состав.Город) ТОгда
НАсПУнкт = XDTOКонтактная.city;//XDTOКонтактная.Состав.Состав.Город;
Если ЗначениеЗаполнено(XDTOКонтактная.locality) Тогда //XDTOКонтактная.Состав.Состав.НаселПункт) Тогда
НАселПункт = XDTOКонтактная.locality;//XDTOКонтактная.Состав.Состав.НаселПункт;
НазваниеНасП = СокрЛП(Лев(НАселПункт,Найти(НАселПункт," ")-1));
ТипНасП = СокрЛП(Прав(НАселПункт,СтрДлина(НАселПункт)-Стрдлина(НазваниеНасП)-1));
НаселПункт = ТипНасП + " " + НазваниеНасП;
НасПункт = НасПункт +", "+ НаселПункт;
КонецЕсли;
Иначе
НасПункт = Строка(XDTOКонтактная.locality);
КонецЕсли;
Если не XDTOКонтактная.area = Неопределено Тогда
Район = XDTOКонтактная.area;
Иначе
Район = "";
КонецЕсли;
ЗаписьXML.ЗаписатьНачалоЭлемента("ns:getServiceCost2");
ЗаписьXML.ЗаписатьНачалоЭлемента("request");
//авторизация
ЗаписьXML.ЗаписатьНачалоЭлемента("auth");
ЗаписьXML.ЗаписатьНачалоЭлемента("clientNumber");
ЗаписьXML.ЗаписатьТекст(ЛогинДПД);//"1008008964");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("clientKey");
ЗаписьXML.ЗаписатьТекст(ПарольДПД);//"439220DA5F607DC9E93FFE412CE10EDFDEE6F862");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
//picup
ЗаписьXML.ЗаписатьНачалоЭлемента("pickup");
ЗаписьXML.ЗаписатьНачалоЭлемента("index");
ЗаписьXML.ЗаписатьТекст(XDTOКонтактнаяОтпр.ZIPCode);//"344000");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("cityName");
ЗаписьXML.ЗаписатьТекст(XDTOКонтактнаяОтпр.city);//"Ростов-на-Дону");
ЗаписьXML.ЗаписатьКонецЭлемента();
//ЗаписьXML.ЗаписатьНачалоЭлемента("regionCode");
//ЗаписьXML.ЗаписатьТекст("61");
//ЗаписьXML.ЗаписатьКонецЭлемента();
//ЗаписьXML.ЗаписатьНачалоЭлемента("countryCode");
//ЗаписьXML.ЗаписатьТекст("RU");
//ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
//delivery
ЗаписьXML.ЗаписатьНачалоЭлемента("delivery");
ЗаписьXML.ЗаписатьНачалоЭлемента("index");
ЗаписьXML.ЗаписатьТекст(XDTOКонтактная.ZIPCode);//"346604");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("cityName");
ЗаписьXML.ЗаписатьТекст(XDTOКонтактная.city);//"Садовый");
ЗаписьXML.ЗаписатьКонецЭлемента();
//ЗаписьXML.ЗаписатьНачалоЭлемента("regionCode");
//ЗаписьXML.ЗаписатьТекст("61");
//ЗаписьXML.ЗаписатьКонецЭлемента();
//ЗаписьXML.ЗаписатьНачалоЭлемента("countryCode");
//ЗаписьXML.ЗаписатьТекст("RU");
//ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
//Если selfPickup = false, значит что прием от двери
//Если selfDelivery = false, значит доставка до двери
Если Объект.МТД_ВариантыПеревозки = ПредопределенноеЗначение("Перечисление.МТД_ВариантыПеревозки.ДД") Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("selfPickup");
ЗаписьXML.ЗаписатьТекст("false");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("selfDelivery");
ЗаписьXML.ЗаписатьТекст("false");
ЗаписьXML.ЗаписатьКонецЭлемента();
ИНАЧЕЕСЛИ
Объект.МТД_ВариантыПеревозки = ПредопределенноеЗначение("Перечисление.МТД_ВариантыПеревозки.ДТ") Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("selfPickup");
ЗаписьXML.ЗаписатьТекст("false");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("selfDelivery");
ЗаписьXML.ЗаписатьТекст("true");
ЗаписьXML.ЗаписатьКонецЭлемента();
ИНАЧЕЕСЛИ
Объект.МТД_ВариантыПеревозки = ПредопределенноеЗначение("Перечисление.МТД_ВариантыПеревозки.ТТ") Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("selfPickup");
ЗаписьXML.ЗаписатьТекст("true");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("selfDelivery");
ЗаписьXML.ЗаписатьТекст("true");
ЗаписьXML.ЗаписатьКонецЭлемента();
ИНАЧЕЕСЛИ
Объект.МТД_ВариантыПеревозки = ПредопределенноеЗначение("Перечисление.МТД_ВариантыПеревозки.ТД") Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("selfPickup");
ЗаписьXML.ЗаписатьТекст("true");
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьНачалоЭлемента("selfDelivery");
ЗаписьXML.ЗаписатьТекст("false");
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
//вес
ЗаписьXML.ЗаписатьНачалоЭлемента("weight");
ЗаписьXML.ЗаписатьТекст(СтрЗаменить(Строка(Объект.Вес),",","."));
ЗаписьXML.ЗаписатьКонецЭлемента();
//объем
ЗаписьXML.ЗаписатьНачалоЭлемента("volume");
ЗаписьXML.ЗаписатьТекст(СтрЗаменить(Строка(Объект.Объем),",","."));
ЗаписьXML.ЗаписатьКонецЭлемента();
Если Объект.ЗонаТариф.Наименование = "DPD OPTIMUM" Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("serviceCode");
ЗаписьXML.ЗаписатьТекст(Строка("PCL"));
ЗаписьXML.ЗаписатьКонецЭлемента();
ИНАЧЕЕСЛИ Объект.ЗонаТариф.Наименование = "DPD EXPRESS" ТОГДА
ЗаписьXML.ЗаписатьНачалоЭлемента("serviceCode");
ЗаписьXML.ЗаписатьТекст(Строка("NDY"));
ЗаписьXML.ЗаписатьКонецЭлемента();
ИНАЧЕЕСЛИ Объект.ЗонаТариф.Наименование = "DPD CLASSIC" ТОГДА
ЗаписьXML.ЗаписатьНачалоЭлемента("serviceCode");
ЗаписьXML.ЗаписатьТекст(Строка("CUR"));
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
ЗаписьXML.ЗаписатьНачалоЭлемента("declaredValue");
ЗаписьXML.ЗаписатьТекст(Строка(Объект.ОбъявленнаяЦенность));
ЗаписьXML.ЗаписатьКонецЭлемента();
//ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента(); //request
ЗаписьXML.ЗаписатьКонецЭлемента(); // ns:getServiceCost2
ЗаписьXML.ЗаписатьКонецЭлемента(); //soapenv:Body
ЗаписьXML.ЗаписатьКонецЭлемента(); //soap:Envelope
ТекстXML = ЗаписьXML.Закрыть();
Сообщить(ТекстXML);
// отправить запрос
Если ПустаяСтрока(ТекстXML) Тогда
ТекстВозврат = "";
КонецЕсли;
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.SetTimeouts(100000,100000,100000,100000);
WinHttp.Option(2,"utf-8");
//WinHttp.Open("POST","http://wstest.dpd.ru/services/calculator2?wsdl"); ; // тестовая
WinHttp.Open("POST","http://ws.dpd.ru/services/calculator2?wsdl");// рабочая
WinHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8");
//Сообщить("Начало - " + ТекущаяДата());
//Сообщить("URL: " + "http://wstest.dpd.ru/services/calculator2?wsdl");
//Попытка
WinHttp.Send(ТекстXML);
//Сообщить("Завершение - " + ТекущаяДата());
Если WinHttp.Status = 200 Тогда
//Сообщить("Ответ: " + WinHttp.StatusText);
//ТекстВозврат = WinHttp.ResponseText;
Иначе
Сообщить("Ошибка сервера: " + WinHttp.Status + " " + WinHttp.ResponseText + " " + WinHttp.StatusText, СтатусСообщения.Важное);
Ошибка = Стрнайти(WinHttp.ResponseText,"<faultstring>");
ТекстОшибки = прав(WinHttp.ResponseText,СтрДлина(WinHttp.ResponseText) -Ошибка-12);
КонецЦены = СтрНайти(ТекстОшибки,">");//17
Ошибка = Лев(ТекстОшибки, КонецЦены-14);
Если Ошибка = "Невозможна услуга, удовлетворяющая запросу" Тогда
Сообщить("Ошибка: Возможно в выбранном населенном пункте отсутствует терминал приема посылок DPD. Попробуйте другой способ доставки.");
КонецЕсли;
Возврат;
КонецЕсли;
Ответ = WinHttp.ResponseText ;
//Сообщить(Ответ);
НАчалоСуммы = Стрнайти(Ответ,"<cost>"); //267
ПравСЦеной = прав(Ответ,СтрДлина(Ответ) -НАчалоСуммы-5);
КонецЦены = СтрНайти(ПравСЦеной,">");//17
Цена = Лев(ПравСЦеной,КонецЦены-7);
Попытка
Объект.СтоимостьДоставки = Число(Цена);
Исключение
КонецПопытки;
Дней = Стрнайти(ПравСЦеной,"<days>"); //18
ПравДней = прав(ПравСЦеной,СтрДлина(ПравСЦеной) -Дней-5);
КонецДней = СтрНайти(ПравДней,">"); //9
Дней = Лев(ПравДней,КонецДней-7);
Попытка
Объект.МТД_ДнейДПД = Число(Дней);
Исключение
Конецпопытки;
КонецПроцедуры
Показать
(6) Кнопку нажимаю и сразу вызывается процедура
&НаКлиенте
Процедура МТД_ДМТД_РасчитатьСтоимостьDPDПосле(Команда)
Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;
Показать&НаСервере
Процедура МТД_РасчетСтоимостиДПД_1()
Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
КонецПопытки;
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
Показатьи т.д.....
(14) Вывело ошибку мол в безопасном режиме не будет работать. Убрал безопасный режим
//Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
//Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
//КонецПопытки;
Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"
И соответственно на возврате завершилась. Видимо в этом и была ошибка.
//Попытка
Защита = Новый ЗащищенноеСоединениеOpenSSL();
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
//Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
+ Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат;
//КонецПопытки;
Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"
И соответственно на возврате завершилась. Видимо в этом и была ошибка.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот