Делаю подключение

```1c
    Попытка
    Защита = Новый ЗащищенноеСоединениеOpenSSL();
    Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
    Исключение
    Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
    + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
    Возврат;
    КонецПопытки;
```

На локальной базе, все супер, работает, подключается и НаСервере и НаКлиенте

На базе из веб сервиса через тонкий клиент вылетает вечно ошибка

Ошибка при вызове конструктора(HTTPСоединение)
---
Вывело ошибку мол в безопасном режиме не будет работать. Убрал безопасный режим

//Попытка
  Защита = Новый ЗащищенноеСоединениеOpenSSL();
  Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
 //Исключение
  Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
  + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
  Возврат;
 //КонецПопытки;

Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"

И соответственно на возврате завершилась. Видимо в этом и была ошибка.
---
В веб клиенте нет "HTTPСоединение" как бы смешно это не звучало... Код который вызывается в вебе необходимо вызывать "НаСервере" тогда ошибки не будет
---
Будет. Ошибка возникает и НаКлиенте и НаСервере. Запускаю через тонкий клиент
---
Нет, не будет. Давай весь код и откуда запускаешь.
---
```1c
    &НаКлиенте
    Процедура МТД_ДМТД_РасчитатьСтоимость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);
    Попытка
    Объект.МТД_ДнейДПД = Число(Дней);
    Исключение
    Конецпопытки;

    КонецПроцедуры
```
---
Зачем совсем весь код то :) нужен был код только начало процедур где идет создание СоединениеHTTP и вызов откуда происходит.
---
Кнопку нажимаю и сразу вызывается процедура

```1c
    &НаКлиенте
    Процедура МТД_ДМТД_РасчитатьСтоимостьDPDПосле(Команда)
    Попытка
    Защита = Новый ЗащищенноеСоединениеOpenSSL();
    Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
    Исключение
    Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
    + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
    Возврат;
    КонецПопытки;
```
---
Я же сказал, что на "клиенте" нет HTTPСоединение в ВебКлиенте!
Выполняй этот код на сервере
---
Он изначально на сервере был, та же ошибка
---
покажи код - как ты вызывал его на сервере.
---
```1c
    &НаСервере
    Процедура МТД_РасчетСтоимостиДПД_1()
    Попытка
    Защита = Новый ЗащищенноеСоединениеOpenSSL();
    Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,);
    Исключение
    Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
    + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
    Возврат;
    КонецПопытки;

    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку();
```

и т.д.....
---
Ошибка скорее всего из-за отсутствия "защита" вот тут:
Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,);
---
Увы, но нет, ошибка не в этом. Может параметров не хватает?
---
Если убрать попытку то какая конкретно ошибка выходит?
---
Вывело ошибку мол в безопасном режиме не будет работать. Убрал безопасный режим

//Попытка
  Защита = Новый ЗащищенноеСоединениеOpenSSL();
  Соединение = Новый HTTPСоединение("ws.dpd.ru",,,,,,Защита);
 //Исключение
  Сообщить("Не удалось установить соединение с сервером онлайн-проверки:"
  + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
  Возврат;
 //КонецПопытки;

Вывело только "Не удалось установить соединение с сервером онлайн-проверки:"

И соответственно на возврате завершилась. Видимо в этом и была ошибка.
---
Спасибо большое. Не думал что ошибку так просто решить можно было)