Webhook POST导致ActionDispatch :: Http :: Parameters :: ParseError

时间:2019-03-29 02:19:41

标签: ruby-on-rails webhooks ruby-on-rails-5.2 actiondispatch dynamics-business-central

我有一个与Microsoft Dynamics Business Central集成的Rails 5.2.x应用程序。发生更新时,可以在Business Central上创建与Rails应用程序上的Web挂钩交互的“订阅”。但是,Web挂钩有效负载会在ActionDispatch中导致错误。

这是来自Webhook的有效负载:

{
  "value": [
    {
      "subscriptionId": "6bfe67d43c6e4249b025e5e14b81b706",
      "clientState": "",
      "expirationDateTime": "2019-03-31T08:01:17Z",
      "resource": "/api/beta/companies(da65c2c0-e0f0-49da-acfe-b63ac4787e2c)/customers(241a81d0-fc24-4c00-8c32-a599f3d9a921)",
      "changeType": "updated",
      "lastModifiedDateTime": "2019-03-28T08:04:37.7Z"
    }
  ]
}

这里是发生错误的地方

gems/actionpack-5.2.2.1/lib/action_dispatch/http/parameters.rb:117

我还使用Rails 6.0.0.beta3进行了测试,但得到了相同的错误。

将数据从BusinessCentral发布到Webhook时,会发生错误。但是,当我从Postman(本地或远程测试服务器)发布数据时,它可以正常工作。

我编写了一个中间件来检查原始请求正文,(据我所知)它是相同的。

任何人都对测试什么和/或如何解决问题有任何想法

0 个答案:

没有答案