Java Play framework WebDevice-传递base64时激活器启动问题
我正在使用Java的Play框架创建web服务API。我已成功创建该服务 我所做的: 在一个web服务请求中,我发送了base64字符串。如果我在请求中传递base64字符串,我会得到以下异常Java Play framework WebDevice-传递base64时激活器启动问题,java,web-services,post,playframework-2.0,base64,Java,Web Services,Post,Playframework 2.0,Base64,我正在使用Java的Play框架创建web服务API。我已成功创建该服务 我所做的: 在一个web服务请求中,我发送了base64字符串。如果我在请求中传递base64字符串,我会得到以下异常 [warn] p.nettyException - Handling TooLongFrameException org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 byte
[warn] p.nettyException - Handling TooLongFrameException
org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 bytes.
在网上搜索后,我得到了以下解决方案
export SBT_OPTS="-Xms1024m -Xmx3084m -XX:MaxPermSize=1024m -Dhttp.netty.maxInitialLineLength=8192"
设置SBT_OPTS后,我可以在请求中传递base64字符串,并在服务器端成功接收它
我使用以下命令进行调试-“activator-jvm debug 9999 run”
。所以它工作得很好
问题是什么:
但现在我尝试将其部署为服务。因此,我使用了以下命令-“activator start”
(或)“activator start$SBT\u OPTS”
(或)“activator$SBT\u OPTS start”
当我使用此命令启动服务时,我遇到了与上面相同的问题—“HTTP线大于4096字节。”
有人能帮我解决这个问题吗?请在application.conf中添加以下行,这样您就不需要在运行时设置任何配置 parsers.text.maxLength=7024K 它可以接受高达7MB的请求数据,如果您需要更多数据,可以进行设置。
您是否查看了@MonCalamari?谢谢您的回复。我确实检查了链接。你能告诉我,在哪里设置http.netty.maxInitialLineLength吗?谢谢你的回复。我确实设置了parsers.text.maxLength。但我还是遇到了同样的问题。您能告诉我,我在哪里设置http.netty.maxInitialLineLength吗?您需要在application.conf上设置它,还请查看我设置的parsers.text.maxLength=7024K中的“Max content length”。但即使是我也遇到了“一条HTTP线大于4096字节”的问题。你在做了更改后清理并编译了应用程序吗?是的。我使用eclipse作为IDE。因此,一旦我清理了项目,它就会被编译成代码。但我还是明白了这个问题。你能帮我修一下吗。