在Redhat 7.5上,向R中的管道工API终结点发送主体尺寸较大的POST请求时出现问题

在Redhat 7.5上,向R中的管道工API终结点发送主体尺寸较大的POST请求时出现问题,r,vba,post,redhat,plumber,R,Vba,Post,Redhat,Plumber,我正在尝试使用MSXML2.ServerXMLHTTP将一个包含大约140行和5列的表作为JSON对象(大小约为20KB)从VBA发送到一个端点,该端点可以从R使用plumber API包获得。在服务器上的R中运行的端点/函数引发以下错误:fromJSON(requestList)中的simpleError:缺少参数“requestList”,没有默认值 requestList是传递给端点函数的参数。看起来它在网络通话中丢失了如果我将表大小从140行减少到30行,则会找到requestList并

我正在尝试使用MSXML2.ServerXMLHTTP将一个包含大约140行和5列的表作为JSON对象(大小约为20KB)从VBA发送到一个端点,该端点可以从R使用plumber API包获得。在服务器上的R中运行的端点/函数引发以下错误:fromJSON(requestList)中的simpleError:缺少参数“requestList”,没有默认值

requestList是传递给端点函数的参数。看起来它在网络通话中丢失了如果我将表大小从140行减少到30行,则会找到requestList并成功地提供请求。

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

如果来自JSON(requestList)的
是:

  • 当它有30行时工作
  • 缺少引发类型为
    参数“requestList”的错误,当有140行时没有默认值
。。。考虑到JSON主体没有大小限制(即使有,也肯定不会是20KB),我认为问题在于行
31-140
中包含的数据

在VBA客户端序列化时,必须有一些特殊字符可以正常执行(即,数据被正确序列化,因为VBA允许该特殊字符),但在服务器端反序列化时,此特殊字符会中断请求,就好像输入实际上不是输入一样


我建议进行故障排除,将您的请求分为30个块(
1-30
31-60
61-90
等),直到找到有罪的块,然后对该块进行二等分,直到检测到特殊字符将其打断。

我倾向于说,JSON行中从第31行到第140行的一个数据包含一个特殊字符,使得参数在客户端工作,但在反序列化时在服务器端断开请求。您是否尝试发送1-30、31-60、61-90等,以确保与您发送的数据无关?谢谢Matteo。由于在服务器端解析JSON对象,我遇到了错误,消息会说这是一些解析问题,但至少它会识别作为JSON对象发送的参数。但是我会尝试你的方法,看看在服务器端解析JSON是否有问题。谢谢Matteo。尽管服务器端没有提到任何关于解析JSON对象的问题。看起来像你说的。请把它作为答案,这样我就可以检查它等待更多的测试。当然,我会这样做。