我正在尝试使用POST请求主体中的MSXML2.ServerXMLHTTP从VBA发送约140行和5列的表作为JSON对象(大小约20 KB)到R并通过plumber API包从R提供给端点。在服务器上的R中运行的终结点/函数抛出以下错误:fromJSON(requestList)中的simpleError:参数“ requestList”丢失,没有默认值

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

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

最佳答案

如果fromJSON(requestList)为:


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


...考虑到JSON主体没有大小限制(即使它们有大小限制,也可以肯定不会是20 KB),我想说问题出在行31-140中包含的数据中。

必须有一些特殊字符在VBA客户端上进行序列化时可以很好地通过(即,数据已正确序列化,因为VBA可以容忍该特殊字符),但是在服务器端进行反序列化时,此特殊字符会破坏请求,就好像输入不是实际上是输入。

我建议进行故障排除的方法是将请求分成30个块(1-3031-6061-90等),直到找到有罪的块为止,然后对该部分进行二等分,直到检测到特殊情况为止。打破它的角色。

10-06 02:08