Встала задача в передачи ответа на стороне веб клиента, на сторону сервера. На стороне оператора установлена служба, которая позволяет по адресу, например http://localhost:5107/Id, получить информацию которая привязана к ПО оператора, в виде JSON. Этот JSON необходимо передать на сервер, где проверяется этот Id и при положительном ответе, открывается форма авторизации на определенном ресурсе через 1С.
Пытался сделать через HTTP соединение и HTTP запросы, но их вызывать нельзя на стороне веб клиента, хотя в справке написано, доступно для веб клиента. Пробовал через виндовые комманды, но что бы к ним обратиться, создается COM объект, который так же не доступен на веб клиенте. Делать на стороне сервера я данный запрос не могу, т.к. тогда на сервере придется ставить службу, а это бессмысленно, т.к. привязка идет на уровне железа, на конкретную точку с которой работает оператор. Есть у кого какие мысли, как передать ответ с веб клиента на сервер?
---
Какая версия платформы?
На 8.3.14 HTTPЗапрос, HTTPСоединение: "Доступность: Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).". Не вижу веб клиента.
Можно перевести на тонкие клиенты?

Запрос к службе http://localhost:5107/Id может быть выполнен с другого компьютера в виде запроса к " http://IP_компа_в_сети:5107/Id" ? Если да, то получить IP НаКлиенте и передавать на сервер для запроса оттуда.

Можно попробовать разместить на форме поле HTML-документа и сделать запрос его средствами - JavaScript, AJAX. см https://infostart.ru/public/398366/ и подобное.
---
Решил вопрос с веб клиентом через JavaScript, делюсь решением, как получить GET ответ в контексте веб клиента и передавать уже его на серверный контекст.
Формируем HTML документ, размещаем поле HTML документа на форме, скорее всего можно и программно его создать. В серверной процедуре создания прописываем

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    GetJSON_Text = "<!DO CTYPE html>
    |<ht ml>
    |<head runat='server'>
    |<met a http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    | <title>'Пример JS' </title>
    | <sc ript type='text/javascript'>
    | document.addEventListener('DOMContentLoaded', function (event) {
    | getHardware(url)
    | });
    | function Hard(url,H)
    | {
    | H = getHardware(url);
    | console.log(H);
    | return H;
    | }
    | function getHardware(url)
    | {
    | var xhr = new XMLHttpRequest();
    | xhr.open(url, false);
    | xhr.send();
    | if (xhr.status != 200) {
    | document.getElementById('HardForm').innerHTML = 'Служба не активна';
    | return 404; //: 404: Not Found
    | } else {
    | // вывести результат
    | document.getElementById('HardForm').innerHTML = xhr.responseText;
    | return xhr.responseText;
    | }
    | }
    | </sc ript>
    |</head>
    |<body>
    |<button on click='Hard(url,'')'>Get Hardware</button>
    | <fo rm id='HardForm' runat='server'>
    | </form>
    |</body>
    |</html>";
    ШаблонHTML = GetJSON_Text;
    ПолеHTML = ШаблонHTML;
    КонецПроцедуры
```

 на клиентской части вызываем любую функцию со следующим кодом

```1c
    //------------------------------------url ="http://localhost:5107/Id"-----------------------------------//
    &НаКлиенте
    Функция GET_JS(url)
    ОкноДокумента = ЭтаФорма.Элементы.ПолеHTML.Документ.defaultView;
    Если ОкноДокумента = Неопределено Тогда
    Возврат ";
    КонецЕсли;
    Результат = ОкноДокумента.Hard(url,");
    Возврат Результат;
    КонецФункции
```
---
Не понимаю, зачем такие сложности. Если это обработка, то через форму любое сериализуемое значение можно отправить на сервер.
---
эта обработка, которая до того как послать POST запрос авторизации, собирает так сказать данные о железе оператора, операторов N-количество, у всех разное железо, но все подключаются через web интерфейс к одному серверу с базой 1С, где развернут веб сервер. У каждого оператора установлена служба, которая позволяет обращаться по адресу http://localhost:5107/Id и получать JSON c параметрами железа. Так вот я не могу обратиться с веб клиента к этому http://localhost:5107/Id, т.к. требуется установить HTTP соединение, а оно на веб клиенте не доступно. Через Новый COMОбъект("MSXML2.XMLHTTP") хотел обратиться, что бы получить ответ, COM объекты так же не доступны. Решил службу сделать в 1С, используя WSH: GetComObject("winmgmts:{impersonationLevel=impersonate}!//" + TrimAll(ComputerName) + "/root/cimv2"), НО так же не доступно GetComObject на стороне веб клиента, а на стороне сервера я получу данные о железе сервера, а мне нужны данные о железе оператора и передавать их на сервер.
---
Я наверно неправильно понял вопрос. Нужно ведь обратиться к стороннему сервису, верно? А через какие виндовые команды пробовали?
---
Какая версия платформы?
На 8.3.14 HTTPЗапрос, HTTPСоединение: "Доступность: Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).". Не вижу веб клиента.
Можно перевести на тонкие клиенты?

Запрос к службе http://localhost:5107/Id может быть выполнен с другого компьютера в виде запроса к " http://IP_компа_в_сети:5107/Id" ? Если да, то получить IP НаКлиенте и передавать на сервер для запроса оттуда.

Можно попробовать разместить на форме поле HTML-документа и сделать запрос его средствами - JavaScript, AJAX. см https://infostart.ru/public/398366/ и подобное.
---
Платформа 8.3.15, да HTTP соединение там уже убрали со справки, осталось только COM-соединение доступное на веб клиенте. Через IP не выйдет т.к. этот адрес доступен только после установки службы и подписания ее, на сервере ее ставить нельзя, да и IP опять же передать на сервер, не вызывая COM, пока ни знаю. На счет JavaScript, AJAX, спасибо, порою в этом направлении. Хотя я начал копать пока в направлении, размещении на форме HTTP документа, авто открытия http://localhost:5107/Id , распарсить и получить нужный мне JSON. Наверное это единственные 2 способа, которые пока осталось проверить.
---
Решил вопрос с веб клиентом через JavaScript, делюсь решением, как получить GET ответ в контексте веб клиента и передавать уже его на серверный контекст.
Формируем HTML документ, размещаем поле HTML документа на форме, скорее всего можно и программно его создать. В серверной процедуре создания прописываем

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    GetJSON_Text = "<!DO CTYPE html>
    |<ht ml>
    |<head runat='server'>
    |<met a http-equiv='Content-Type' content='text/html; charset=utf-8'/>
    | <title>'Пример JS' </title>
    | <sc ript type='text/javascript'>
    | document.addEventListener('DOMContentLoaded', function (event) {
    | getHardware(url)
    | });
    | function Hard(url,H)
    | {
    | H = getHardware(url);
    | console.log(H);
    | return H;
    | }
    | function getHardware(url)
    | {
    | var xhr = new XMLHttpRequest();
    | xhr.open(url, false);
    | xhr.send();
    | if (xhr.status != 200) {
    | document.getElementById('HardForm').innerHTML = 'Служба не активна';
    | return 404; //: 404: Not Found
    | } else {
    | // вывести результат
    | document.getElementById('HardForm').innerHTML = xhr.responseText;
    | return xhr.responseText;
    | }
    | }
    | </sc ript>
    |</head>
    |<body>
    |<button on click='Hard(url,'')'>Get Hardware</button>
    | <fo rm id='HardForm' runat='server'>
    | </form>
    |</body>
    |</html>";
    ШаблонHTML = GetJSON_Text;
    ПолеHTML = ШаблонHTML;
    КонецПроцедуры
```

 на клиентской части вызываем любую функцию со следующим кодом

```1c
    //------------------------------------url ="http://localhost:5107/Id"-----------------------------------//
    &НаКлиенте
    Функция GET_JS(url)
    ОкноДокумента = ЭтаФорма.Элементы.ПолеHTML.Документ.defaultView;
    Если ОкноДокумента = Неопределено Тогда
    Возврат ";
    КонецЕсли;
    Результат = ОкноДокумента.Hard(url,");
    Возврат Результат;
    КонецФункции
```