Как отловить POST на стороне 1с в веб сервисах?

Собственно задача - создать апи для передачи данных для последующего формирования заказа на стороне 1С.

Решено было отдавать пост запросом по ключу "params" (временное название) json строкой многомерный массив.
Первая же проблема - как получить данные из пост запроса, единственное что смог нагуглить это

Ответ = Новый HTTPСервисОтвет(200);
    Ответ.УстановитьТелоИзСтроки(Запрос.ПараметрыЗапроса.Получить("params"));


Но тут он получает только гет параметры.
  • Вопрос задан
  • 1379 просмотров
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
как получить данные из пост запроса

Из вашего вопроса не понял как вы передаете данные - в POST объект JSON или с помощью multipart/form-data.

В первом случае текст вашего POST легко можно получить с помощью следующей конструкции:
POST_txt = Запрос.ПолучитьТелоКакСтроку();

и далее уже элементарно создаете с JSON объект и работаете с ним:

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(POST_txt);
Объект_JSON = ПрочитатьJSON(ЧтениеJSON,,"DOC_DATE");  // важно указать все ваши поля типа даты, что бы потом не парсить вручную строки
ЧтениеJSON.Закрыть();

Во втором случае, если я не ошибаюсь, то можно получить значение POST-параметры с помощью упомянутого у вас метода запроса ПараметрыЗапроса() , который возвращает соответствие, где ключами будут названия параметров. Но на практике я это не проверял - для работы с HTML-формами вполне достаточно GET-параметров, а в POST все же удобно писать JSON или XML).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы