Имя: Пароль:
1C
1С v8
Получить ответ от Web сервиса
0 grasshoper
 
12.03.20
09:51
День добрый. Кто знает, как послать запрос на веб сервис и получить от него ответ? Нужно со стороннего сайта получить список документов. В документации по интеграции с сервисом написано только описание методов и полей и есть пример запроса, вот только как его передать на сайт:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema">;
    <SOAP-ENV:Body>
        <m:QueryDocuments xmlns:m="http://testserver.ru/">;
            <m:username>MyName</m:username>
            <m:password>MyPassword</m:password>
        </m:QueryDocuments>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Пробую такой вариант отправки запроса:
HTTP_Соединение = Новый HTTPСоединение("testserver.ru", , , , , , Новый ЗащищенноеСоединениеOpenSSL);
    
HTTP_Запрос = Новый HTTPЗапрос;    
HTTP_Запрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8);    
HTTP_Ответ = HTTP_Соединение.ОтправитьДляОбработки(HTTP_Запрос);

ТекстОтвета = HTTP_Ответ.ПолучитьТелоКакСтроку();

Но в ответ мне кидает код главной страницы сайта
1 butterbean
 
12.03.20
10:00
(0) во-первых нужно .Получить(), а не .ОтправитьДляОбработки()
2 grasshoper
 
12.03.20
10:14
(1) В ответе ничего не поменялось, возвращает код главной страницы сайта.
3 grasshoper
 
12.03.20
10:26
Как правильно составить запрос и послать на сайт?
4 arsik
 
гуру
12.03.20
10:29
(1) Это не поможет, ему же нужно через вебсервис, а в примере он через обычный http сервис пытается с сервисом общаться.
5 Feunoir
 
12.03.20
10:38
(0) Ну конечно главную. Ты же в HTTP запросе не указываешь какой ресурс ты хочешь получить.

Запрос = Новый HTTPЗапрос(Ресурс, Заголовки);

(1) Не факт. Получить это GET, ОтправитьДляОбработки это POST. Как АПИ сайта хочет, так и надо отправлять.
6 grasshoper
 
12.03.20
10:44
(5) Дак как слепить?
7 pechkin
 
12.03.20
10:47
зачем веб сервис отсылать через http ?
8 J_B
 
12.03.20
10:48
9 grasshoper
 
12.03.20
10:52
(7) дак я и спрашиваю как прикрутить чтобы работало.
10 grasshoper
 
12.03.20
10:52
(8) Статья хорошая, но веб сервис сторонний а не в базе 1С.
11 Feunoir
 
12.03.20
10:54
(6) Внимательно почитать доку, взять внешний SOAP клиент. Типа SoapUI или Boomerang (https://chrome.google.com/webstore/detail/boomerang-soap-rest-clien/eipdnjedkpcnlmmdfdkgfpljanehloah). Сначала в них научиться получать список документов, а потом уже переносить это дело в 1С. И, как тебе уже писали вместо HTTP использовать WS-ссылки
12 grasshoper
 
12.03.20
10:57
(11) Ну вот уже что-то дельное.
13 J_B
 
12.03.20
10:59
(10) В разделе 3 есть пример обращения к веб-сервису... Без разницы на чем он сделан - принципы вызова методов будут аналогичные
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.