|
MongaDB выходит ошибка 406 | ☑ | ||
---|---|---|---|---|
0
redbull4561
20.09.17
✎
13:02
|
Делаю сохранение файлов в монгоДБ с помощью RESTHeart из 1С
Остановился на том что не могу записать данные методом PUT возвращает ошибку 406 Может кто сталкивался и может подсказать Соединение = Новый HTTPСоединение("localhost", 8080, "Логин", "Пароль",, 60); ЧтениеJSON = Новый ЧтениеJSON; ЗаписьJSON = Новый ЗаписьJSON; ЗаголовокЗапроса = Новый Соответствие; ЗаголовокЗапроса.Вставить("Content-Type", "application/json"); ЗаголовокЗапроса.Вставить("Authorization", "Basic " + ХэшАвторизации("Логин", "Пароль")); ИмяФайлаОтправки = КаталогВременныхФайлов() + "upload.txt"; парПутьКФайлу = "C:\Data\ObmenMongo\dsfs.png"; HTTPЗапрос = Новый HTTPЗапрос("/FileBaseDB/FileTable/" + Документ.Ссылка.УникальныйИдентификатор() + "?id_type=STRING", ЗаголовокЗапроса); Данные = Новый ДвоичныеДанные(парПутьКФайлу); врСоотв = Новый Соответствие; врСоотв.Вставить("Base", "1CBase"); врСоотв.Вставить("Date", ТекущаяДата()); врСоотв.Вставить("File", Base64Строка(Данные)); врСоотв.Вставить("desc", парПутьКФайлу); ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, врСоотв); врСтр = ЗаписьJSON.Закрыть(); врСтр = СтрЗаменить(врСтр, Символы.ПС, ""); HTTPЗапрос.УстановитьТелоИзСтроки(врСтр); ИмяФайлаОтвета = ПолучитьимяВременногоФайла("txt"); Ответ = Соединение.ВызватьHTTPМетод("PUT", HTTPЗапрос, ИмяФайлаОтвета); |
|||
1
mistеr
20.09.17
✎
13:03
|
Дожили. На Мисте вопросы по Монге.
|
|||
2
redbull4561
20.09.17
✎
13:04
|
Вопрос по 1С ) да и вопросов по монге много но дельных не одного
|
|||
3
redbull4561
20.09.17
✎
13:07
|
Ребят хорошо будет если хотябы годную доку кто подскажет, не говоря уж о ответе)
|
|||
4
Вафель
20.09.17
✎
13:11
|
а что ничего более подробно не возвращается?
|
|||
5
redbull4561
20.09.17
✎
13:13
|
В файл ответа выходит такая инфа.
{"_exceptions":[{"exception":"org.bson.json.JsonParseException","exception message":"Invalid JSON input. Position: 6. Character: '\ufeff'."}],"http status code":406,"http status description":"Not Acceptable","message":"Invalid JSON"} |
|||
6
shamashs
20.09.17
✎
13:14
|
406 это уже ответ сервера сам json у тебя кривоват судя по месаджу (5)
|
|||
7
shamashs
20.09.17
✎
13:15
|
'\ufeff'. русские буквы ч jsone отправляешь?
|
|||
8
redbull4561
20.09.17
✎
13:20
|
(7) нет русские буквы не отправляю
Этот когда проверял тоже думал в нем проблема. сформировал в ручную добавил запись в монго этим наборов ключей С начало ругалось на перевод строки, убрал добавилась без проблем. Тут то я подумал что вот оно решение. удалил переводы строки в 1С.... по не помогло... врСоотв = Новый Соответствие; врСоотв.Вставить("Base", "1CBase"); врСоотв.Вставить("Date", ТекущаяДата()); врСоотв.Вставить("File", Base64Строка(Данные)); врСоотв.Вставить("desc", парПутьКФайлу); ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, врСоотв); врСтр = ЗаписьJSON.Закрыть(); врСтр = СтрЗаменить(врСтр, Символы.ПС, ""); HTTPЗапрос.УстановитьТелоИзСтроки(врСтр); |
|||
9
redbull4561
20.09.17
✎
13:22
|
(6) Есть подозрения на заголовки, но что то инфы не могу найти (
|
|||
10
Вафель
20.09.17
✎
13:23
|
покажи весь джсон
https://pastebin.com |
|||
11
shamashs
20.09.17
✎
13:26
|
по 406 ошибке смотри http status description":"Not Acceptable", да скорее всего заголовки.
|
|||
12
dezss
20.09.17
✎
13:27
|
Например, попробуй так.
ЗаголовокЗапроса.Вставить("Content-type","application/json; charset=utf-8"); |
|||
13
dezss
20.09.17
✎
13:28
|
(12) + может еще надо в заголовках размер тела указывать
|
|||
14
redbull4561
20.09.17
✎
13:29
|
{
"desc": "C:\\Data\\ObmenMongo\\dsfs.png", "Base": "1CBase", "File": "sdfsdfsdf", "Date": "2017-09-20T15:27:17"} В поле File закодированый файл в Base64 ( большой слишкой не стал скидывать |
|||
15
redbull4561
20.09.17
✎
13:30
|
(13) (12) Перебирал такие вариант, не помогло
|
|||
16
Вафель
20.09.17
✎
13:32
|
проверь валидность, например, здесь
https://jsonlint.com/# |
|||
17
Shur1cIT
20.09.17
✎
13:33
|
(0) обычно я в Postman json отлаживаю, очень удобно, там же руками сам json править можно и проверять на месте
|
|||
18
shamashs
20.09.17
✎
13:36
|
(16) спс
|
|||
19
redbull4561
20.09.17
✎
13:41
|
(16) Проверил структура нормальная
Единственное что правил там из 1С передался символ переноса строки |
|||
20
redbull4561
20.09.17
✎
13:43
|
||||
21
Asmody
20.09.17
✎
13:48
|
\ufeff — это маркер BOM.
|
|||
22
redbull4561
20.09.17
✎
14:23
|
(21) подскажи что значит?
|
|||
27
Asmody
20.09.17
✎
15:40
|
||||
28
Вафель
20.09.17
✎
15:41
|
(25) вполне норм получилось (со скриптом если)
|
|||
29
redbull4561
21.09.17
✎
08:21
|
UP есть еще мысли?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |