Имя: Пароль:
1C
 
JSON не меняет данные
0 Sj
 
14.10.21
19:02
Доброе время суток!

Отправляю на сервер

JSON = Новый ЗаписьJSON;
JSON.УстановитьСтроку();
ПараметрыЗапроса = Новый Структура("id_order,status",1,2);
ЗаписатьJSON(JSON, ПараметрыЗапроса);
Тело = JSON.Закрыть();
HTTPЗапрос.УстановитьТелоИзСтроки(Тело);
Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос);

Однако на сервер приходит
UPDATE ORDERS all data {"data":{"{
\"id_order\":_1,
\"status\":_2
}":null}}

и ничего не меняется. Что надо сделать, чтобы на сервер приходило
UPDATE ORDERS {"id_order":1"status":2}
?
1 youalex
 
14.10.21
19:33
Если ты отправляешь одно, а приходит другое - значит кто-то портит/подменяет отправления)
А в Ответ.ПолучитьТелоКакСтроку() у тебя что? код статуса какой?

Сильно предположительно:
ПараметрыЗапроса = Новый Структура("data", Новый Массив);
ПараметрыЗапроса.data.Добавить(Новый Структура("id_order,status",1,2))
2 Sj
 
14.10.21
20:07
Вот):
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Not Found</title>

        <!-- Fonts -->
        <link rel="dns-prefetch" href="//fonts.gstatic.com">
        <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">

        <!-- Styles -->
        <style>
            html, body {
                background-color: #fff;
                color: #636b6f;
                font-family: 'Nunito', sans-serif;
                font-weight: 100;
                height: 100vh;
                margin: 0;
            }

            .full-height {
                height: 100vh;
            }

            .flex-center {
                align-items: center;
                display: flex;
                justify-content: center;
            }

            .position-ref {
                position: relative;
            }

            .code {
                border-right: 2px solid;
                font-size: 26px;
                padding: 0 15px 0 15px;
                text-align: center;
            }

            .message {
                font-size: 18px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div class="flex-center position-ref full-height">
            <div class="code">
                404            </div>

            <div class="message" style="padding: 10px;">
                Not Found            </div>
        </div>
    </body>
</html>
3 Sj
 
14.10.21
20:09
Не помогло:

ПараметрыЗапроса = Новый Структура("data", Новый Массив);
ПараметрыЗапроса.data.Добавить(Новый Структура("id_order,status",1,2))
4 rsv
 
14.10.21
20:13
(0) :(   Как должна строка жейсон должна выглядеть ? Передайте явно ее.
Не собирайте через обьект . А потом уж ….
5 youalex
 
14.10.21
20:37
(2) ну, ответ конкретный
404 ... not found

в качестве бреда - можно в заголовок Запроса добавить (если еще нет)  
Запрос.Заголовки.Вставить("Content-Type", "application/json; charset=utf-8")

но проще связаться с поддержкой/разрабами сервиса, чем брутфорсить
6 Sj
 
14.10.21
20:47
(4) передавал, не помогло.
(5) 404 - заказ не найден. Я с ними связывался. У них работает, хоть и не из 1С.
7 acht
 
14.10.21
21:16
(0) Есть, как минимум одна, промежуточная точка обработки, в которой возникает строка "UPDATE ORDERS"

Какая связь между тем что ты посылаешь и тем что получается в этой точке?
8 2mugik
 
15.10.21
06:26
(0)может fidler тебе поможет?
9 Sj
 
15.10.21
09:24
(7)
Это разработчики сделали логер:

UPDATE ORDERS all data {"data":{"{
\"id_order\":_1,
\"status\":_2
}":null}}

и где возникает "UPDATE ORDERS " не имею понятия.
10 Deon
 
15.10.21
09:44
(9) Принимающая сторона явно не понимает, что на входе JSON. Они это всё считают одной строчкой. Надо понять, какие им нужны заголовки и кодировки
11 Sj
 
17.10.21
19:02
Спасибо всем!
(5) (10) Да. Помогло.

Заголовок.Вставить("Content-Type", "application/json");