HTTP请求/服务总线 - application / x-www-form-urlencoded不支持错误

时间:2017-01-25 13:41:16

标签: azure azureservicebus azure-logic-apps

我有一个非常简单的逻辑应用程序:

  • HTTP请求(作为Slack的端点Web挂钩)
  • 从Slack(URI)发送请求到Service Bus队列

我没有对Logic App进行任何更改,但发送消息操作突然开始报告此错误:

Decoding as string is not supported for content envelope of type 
'application/x-www-form-urlencoded'.

发送消息的定义如下:

"Send_message": {
                "inputs": {
                    "body": {
                        "Label": "@{triggerBody()}"
                    },
...

我只看到请求输出的差异:

Headers
{
  "Accept": "*/*",
  "User-Agent": "Slackbot,1.0,(+https://api.slack.com/robots)",
  "Content-Type": "application/x-www-form-urlencoded"
  ...
}
Body
{
  "$content-type": "application/x-www-form-urlencoded",
  "$content": "dG9r..."
}

现在

Headers
{
  "Accept": "*/*",
  "User-Agent": "Slackbot,1.0,(+https://api.slack.com/robots)",
  "Content-Type": "application/x-www-form-urlencoded"
   ...
}

Body
{
  "$content-type": "application/x-www-form-urlencoded",
  "$content": "dG9r...",
  "$formdata": [
    {
      "key": "token",
      "value": "..."
    },
    {
      "key": "team_id",
      "value": "..."
    },
    {
      "key": "trigger_word",
      "value": "!"
    },
    ...
  ]
}

$ formdata现在是Request as JSON数组输出的一部分,包含所有查询参数。

有没有人有任何想法?我非常感谢能帮助它再次发挥作用。

编辑:西欧固定和工作

1 个答案:

答案 0 :(得分:0)

是的,为了在运行时中对x-www-form-urlencoded数据进行原生支持,最近发布了一个错误。我们现在正在回滚和打补丁。您能否向我发送电子邮件,以便我们针对您的地区进行修复,并分享解决方法?提前道歉 - 作为一般规则,我们从不希望发布任何会破坏现有逻辑应用程序的内容。在这种情况下,在表单数据周围添加一些新的元数据不再允许人们对x-www-form-urlencoded数据进行字符串化(这就是你在这里做的)。