首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse Ditto -创建MQTT连接-失败,返回无效的json400响应

Eclipse Ditto -创建MQTT连接-失败,返回无效的json400响应
EN

Stack Overflow用户
提问于 2020-01-13 23:39:47
回答 1查看 155关注 0票数 0

在描述hereOperating Devops Commands之后建立到MQTT3.1.1端点的连接以无效的json400响应结束。即使是示例MQTT-Bidirectional也会被拒绝,返回一个400。因此,这就是为什么我在这里张贴这个问题,以获得提示,我目前做错了什么,以及我可以做些什么来帮助在相同问题中运行的其他人。这是我的curl请求:

代码语言:javascript
复制
    gd@gd:~/ditto/mosquitto$ curl -X POST 'http://{ditto-url}/devops/piggyback/connectivity?timeout=10000' -u devops:foobar -H 'Content-Type: application/json' -d createMQTT_connection.json
{"status":400,"error":"json.invalid","message":"Failed to parse JSON string 'createMQTT_connection.json'!","description":"Check if the JSON was valid (e.g. on https://jsonlint.com) and if it was in required format."}

检查我的json文件的提示返回我的json是有效的。

下面是我的json文件当前的样子:

代码语言:javascript
复制
{

"targetActorSelection": "/system/sharding/connection",
"headers": {
"aggregate": false
},
"piggybackCommand": {
    "type": "connectivity.commands:createConnection",
    "connection": {
          "id": "mqtt-example-connection-123",
          "name": "mmqtt-example-connection-123",
          "connectionType": "mqtt",
          "connectionStatus": "open",
          "failoverEnabled": true,
          "uri": "tcp://{mqtt-broker-url}:1883",
          "sources": [
            {
              "addresses": [
            "{ditto-url}/#"
              ],
              "authorizationContext": ["nginx:ditto"],
              "qos": 0,
              "filters": []
            }
          ],
          "targets": [
            {
              "address": "{ditto-url}/{{ thing:id }}",
              "topics": [
            "_/_/things/twin/events"
              ],
              "authorizationContext": ["nginx:ditto"],
              "qos": 0
            }
          ]
        }
     }
}

有人知道为什么这个json无效了吗?

感谢您对解决此问题的支持和提示!

编辑首先,"-f“对于curl请求更有意义:

代码语言:javascript
复制
curl -X POST -u devops:foobar 'http://{ditto-url}:8080/devops/piggyback/connectivity?timeout=10000' -f createMQTT_connection_1.json
curl: (22) The requested URL returned error: 400 Bad Request
curl: (6) Could not resolve host: createMQTT_connection_1.json

其次是更新json (结果如上图所示)

代码语言:javascript
复制
{
    "targetActorSelection": "/system/sharding/connection",
    "headers": {
        "aggregate": false
    },
    "piggybackCommand": {
        "type": "connectivity.commands:createConnection",
        "connection": {
            "id": "mqtt-example-connection-123",
            "connectionType": "mqtt",
            "connectionStatus": "open",
            "failoverEnabled": true,
            "uri": "tcp://{MQTT-Broker-url}:1883",
            "sources": [{
                "addresses": ["ditto-tutorial/#"],
                "authorizationContext": ["nginx:ditto"],
                "qos": 0,
                "filters": []
            }],
            "targets": [{
                "address": "ditto-tutorial/{{ thing:id }}",
                "topics": [
                "_/_/things/twin/events",
                "_/_/things/live/messages"
                ],
                "authorizationContext": ["nginx:ditto"],
                "qos": 0
            }]
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 01:39:05

我认为你面临的问题与卷曲有关。请在这里查看如何从文件发送json数据:https://stackoverflow.com/a/18614411/5058051

在指定文件位置时,您的情况下似乎缺少@

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59719740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档