Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Янв 2019, 18:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1C отправка PUT запроса в формате JSON  (Прочитано 288 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн receiver

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-09-15
  • Сайт: 
  • Профессия: Разработчик 1С
Добрый день.
Столкнулся с проблемой отправки PUT запроса из 1С (8.3.10.2667) с полезными данными JSON, GET и POST запросы работают корректно, все считывается и отправляется. При отправке PUT почему то пустой запрос. Вот код:

     ИмяФайлаОтвета = ПолучитьИмяВременногоФайла();
          ИмяФайлаЗапроса    = ПолучитьИмяВременногоФайла();
      
     ЗаписьJSON = Новый ЗаписьJSON;
           ЗаписьJSON.ОткрытьФайл(ИмяФайлаЗапроса);                  
     СтуктураОперации = Новый Структура;

     СтуктураОперации.Вставить("type_id", 0);
     СтуктураОперации.Вставить("name", РазбитьФИО(документ.заказчик,2));
     СтуктураОперации.Вставить("last_name", РазбитьФИО(документ.заказчик,1));
     СтуктураОперации.Вставить("middle_name", РазбитьФИО(документ.заказчик,3));

     ЗаписатьJSON(ЗаписьJSON, СтуктураОперации);
     ЗаписьJSON.Закрыть();     
     ФайлОтправки = Новый Файл(ИмяФайлаЗапроса);
     РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

          ИмяСервера = "мой сервер";
     URL = "/client";
            
     ЗаголовокHTTP = Новый Соответствие;
           ЗаголовокHTTP.Вставить("Host", ИмяСервера);
           ЗаголовокHTTP.Вставить("Connection", "Keep-Alive");
           ЗаголовокHTTP.Вставить("Accept", "application/json");
           ЗаголовокHTTP.Вставить("Authorization", "Мой токен");
           ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки);
          ЗаголовокHTTP.Вставить("Content-Type", "application/json; charset=utf-8");    

      
     Соединение = Новый HTTPСоединение(ИмяСервера,,,,,,Новый                     

ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),Новый                     

СертификатыУдостоверяющихЦентровWindows()));       

          ЗапросHTTP = Новый HTTPЗапрос(URL, ЗаголовокHTTP);         
     ЗапросHTTP.УстановитьИмяФайлаТела(ИмяФайлаЗапроса);         
     Ответ = Соединение.Записать(ЗапросHTTP);   


Вот что видно отправляется через снифер на сайт на самом деле:
PUT /client HTTP/1.1
Host: -----
User-Agent: 1C+Enterprise/8.3
Authorization: "мой токен"
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Accept: application/json
Expect: 100-continue
Content-Length: 0



А вот что должно (по примеру POST) который работает исправно через Соединение.ОтправитьДляОбработки(ИмяФайлаЗапроса, URL, ИмяФайлаОтвета, ЗаголовокHTTP)

К тому же почему то приписывается заголовок Expect: 100-continue...

POST /client HTTP/1.1
Host: -----
User-Agent: 1C+Enterprise/8.3
Authorization: "мой токен"
Content-Type: application/json; charset=utf-8
Connection: Keep-Alive
Accept: application/json
Content-Length: 247

{
"type_id": 1,
"name": "Николай",
"last_name": "Сверидонов",
"middle_name": "Валентинович",
}


Помогите разобраться.


Последний раз редактировалось: receiver; 15 Сен 2018, 10:57


Теги: Json PUT 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alexandr_ll
37 Сообщений
AIFrame AIFrame
31 Сообщений
LexaK
24 Сообщений
MuI_I_Ika MuI_I_Ika
24 Сообщений
alex0402
24 Сообщений
Св Ч Св Ч
22 Сообщений
antoneus
20 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
19 Сообщений
wise wise
15 Сообщений
Кот_Леопольд
15 Сообщений

* Кто онлайн

  • Точка Гостей: 370
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal