3

我正在尝试使用 POST 请求正文中的 MSXML2.ServerXMLHTTP 将大约 140 行和 5 列的表作为 JSON 对象(大小约为 20 KB)从 VBA 发送到使用管道工 API 包从 R 提供的端点。服务器上在 R 中运行的端点/函数抛出以下错误:simpleError in fromJSON(requestList): argument "requestList" is missing, with no default

requestList 是传递给端点函数的参数。看起来它在网络通话中迷路了。如果我将表大小减少到 30 行而不是 140 行,则会找到 requestList 并成功处理请求。

我的平台如下: 1. Endpoints 用 R 编写并使用 Plumber API 公开。2. 端点在带有 Redhat 7.5 的 AWS 实例上运行。3. 请求超时在 VBA(客户端)上设置为 100 分钟。

4

1 回答 1

1

如果fromJSON(requestList)是:

  • 当它有 30 行时工作
  • argument "requestList" is missing, with no default有 140 行时引发类型错误

...考虑到 JSON 正文没有大小限制(即使有,也肯定不会是 20 KB),我会说问题出在 rows 中包含的数据中31-140

必须有一些特殊字符在 VBA 客户端的序列化过程中很好(即数据被正确序列化,因为 VBA 允许该特殊字符)但是在服务器端反序列化时,这个特殊字符会中断请求,就好像输入不是实际上是一个输入。

我的故障排除建议是将您的请求分成 30 个块(1-30,等) 31-6061-90直到您找到有罪的块,然后对该块进行二等分,直到您检测到破坏它的特殊字符。

于 2019-01-24T23:50:14.337 回答