【发布时间】:2016-06-19 13:51:00
【问题描述】:
我们正在尝试向使用 Playframework 2.2.6 实现的 REST API 发送长度大于 4096 字节的 GET 和 POST 请求。
经过长时间的谷歌研究,我们几乎尝试了所有方法,解决方案似乎在通过 play 启动我们的服务器时传递了以下两个参数。我们没有收到关于错误参数的错误消息,但是当我们向 api 发送大请求时,我们仍然收到错误
TooLongFrameException: An HTTP line is larger than 4096 Bytes
我们正在通过以下命令运行服务器
<PathToPlay>\play-2.2.6\play.bat -org.jboss.netty.maxHeaderSize:102400 -org.jboss.netty.maxInitialLineLength:102400 run
【问题讨论】:
-
尝试使用 -Dhttp.netty.maxInitialLineLength=102400 运行 sbt
-
你知道 sbt 在 Play 中的调用位置吗?这是我们第一次使用 PlayFramework。
-
您处于生产模式,所以,我的错,它不在 sbt 中,但您可以提供与您完全相同的方式,即替换 -org.jboss.netty.maxInitialLineLength:102400 by -Dhttp.netty.maxInitialLineLength=102400
-
如果我们使用 = 而不是 : 我们会得到一个无效的参数错误并建议我们使用 :。如果我们使用 Dhttp.netty.maxInitialLineLength=102400,我们会收到一个警告,系统属性无效。
-
好的,很抱歉,Play 上的选项似乎不一样! 2.2 那玩! 2.4(因为它适用于 Play!2.4)。而“:”而不是“=”可能是因为您使用的是 Windows。
标签: rest playframework netty playframework-2.2