Перейти к основному содержимому

Обработать серверный поток

Инициализирует серверный поток и возвращает массив полученных сообщений

Функция ОбработатьСерверныйПоток(Знач Соединение, Знач Сервис, Знач Метод, Знач Запрос, Знач Таймаут = 10000, Знач Tls = Неопределено, Знач ЧислоСообщений = Неопределено) Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Соединение--connПроизвольныйСуществующее соединение или параметры соединения
Сервис--serviceСтрокаИмя сервиса
Метод--methodСтрокаИмя метода
Запрос--dataСтруктура Из КлючИЗначениеДанные первого запроса
Таймаут--toutЧислоТаймаут выполнения отдельной операции (в мс)
Tls--tlsСтруктура Из КлючИЗначениеНастройки TLS, если необходимо. См. ПолучитьНастройкиTls
ЧислоСообщений--countЧислоМаксимум сообщений для получения. Без ограничений по умолчанию
Возвращаемое значение

Соответствие Из КлючИЗначение - Результат обработки

Пример использования для 1С:Предприятие/OneScript
Адрес = "https://grpcb.in:9001";

Proto1 = "https://hut.openintegrations.dev/test_data/grpcbin_with_import.proto"; // Строка, путь к файлу или URL
Proto2 = "https://hut.openintegrations.dev/test_data/mt.proto"; // Строка, путь к файлу или URL

Схемы = Новый Соответствие;
Схемы.Вставить("main.proto" , Proto1); // Основной
Схемы.Вставить("my_types.proto", Proto2); // Для импорта в основной

Параметры = OPI_GRPC.ПолучитьПараметрыСоединения(Адрес, Схемы);
Tls = OPI_GRPC.ПолучитьНастройкиTls(Истина);

Сервис = "grpcbin.GRPCBin";
Метод = "DummyServerStream";

Данные = Новый Соответствие;
Данные.Вставить("f_string" , "Test message");
Данные.Вставить("f_int32" , 123);
Данные.Вставить("f_bool" , Истина);
Данные.Вставить("f_sub" , Новый Структура("f_string", "Nested value"));

Результат = OPI_GRPC.ОбработатьСерверныйПоток(Параметры, Сервис, Метод, Данные, , Tls, 3);
# JSON данные также могут быть переданы как путь к файлу .json

oint grpc ОбработатьСерверныйПоток \
--conn "{'address':'https://grpcb.in:9001','proto':{'main.proto':'https://hut.openintegrations.dev/test_data/grpcbin_with_import.proto','my_types.proto':'https://hut.openintegrations.dev/test_data/mt.proto'}}" \
--service "grpcbin.GRPCBin" \
--method "DummyServerStream" \
--data "{'f_string':'Test message','f_int32':'123','f_bool':true,'f_sub':{'f_string':'Nested value'}}" \
--tls "{'use_tls':true,'accept_invalid_certs':true}" \
--count 3
Результат
{
"result": true,
"data": [
{
"f_bool": true,
"f_bools": [],
"f_bytes": "<Двоичные данные>",
"f_bytess": [],
"f_enum": "ENUM_0",
"f_enums": [],
"f_float": 0,
"f_floats": [],
"f_int32": 123,
"f_int32s": [],
"f_int64": 0,
"f_int64s": [],
"f_string": "Test message",
"f_strings": [],
"f_sub": {
"f_string": "Nested value"
},
"f_subs": []
},
{
"f_bool": true,
"f_bools": [],
"f_bytes": "<Двоичные данные>",
"f_bytess": [],
"f_enum": "ENUM_0",
"f_enums": [],
"f_float": 0,
"f_floats": [],
"f_int32": 123,
"f_int32s": [],
"f_int64": 0,
"f_int64s": [],
"f_string": "Test message",
"f_strings": [],
"f_sub": {
"f_string": "Nested value"
},
"f_subs": []
},
{
"f_bool": true,
"f_bools": [],
"f_bytes": "<Двоичные данные>",
"f_bytess": [],
"f_enum": "ENUM_0",
"f_enums": [],
"f_float": 0,
"f_floats": [],
"f_int32": 123,
"f_int32s": [],
"f_int64": 0,
"f_int64s": [],
"f_string": "Test message",
"f_strings": [],
"f_sub": {
"f_string": "Nested value"
},
"f_subs": []
}
]
}