Glassfish Server 4发布的错误太大



我在调用使用http-post编码的web服务时遇到了GF4问题。GF4以"Post too large"错误进行响应。我的帖子数据大约是3MB。

以下是GF4调试日志:

WARNING:   Post too large
WARNING:   StandardWrapperValve[obx2oex]: Servlet.service() for servlet obx2oex threw exception
java.lang.IllegalStateException: Post too large
    at org.glassfish.grizzly.http.server.Request.parseRequestParameters(Request.java:2024)
    at org.glassfish.grizzly.http.server.Request.getParameter(Request.java:1052)
    at org.apache.catalina.connector.Request.getParameter(Request.java:1547)
    at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:448)
...

我已经在谷歌上搜索了这个问题,并找到了一些鼓励修改服务器配置的帮助。我在domain.xml中编辑了以下部分:

<http-service>
        <access-log></access-log>
        <virtual-server id="server" network-listeners="http-listener-1,http-listener-2"></virtual-server>
        <virtual-server id="__asadmin" network-listeners="admin-listener"></virtual-server>
        <property name="maxPostSize" value="2097152"></property>
</http-service>

并重新启动服务器。但错误仍然存在。

有人知道如何解决这个"帖子太大"的问题吗?谢谢你的帮助!

PS:我刚刚看到GF4的启动日志,它告诉我:

警告:不支持的http服务属性maxPostSize将被忽略

那么,我应该在哪里告诉GF4接受大型发布数据呢?

打开Glass Fish管理控制台,选择

配置-服务器配置-网络配置-网络侦听器-http-listener-1

选项卡HTTP。

有一个参数最大Post大小。根据您的意愿增加它。查看屏幕截图

我第一次尝试对Web服务进行编码是一个servlet,它通过HTTP的POST参数接受数据。当发送超过2MB时,这会导致"Post too large"错误。

我得到了将其编码为REST服务的建议。这很奇怪,但现在它的工作容量超过2MB。即使数据是通过http post发送的。

也许它应该帮助一些人。

不过,我还是想知道,在GF4服务器中,在哪里可以设置maxPostSize值。

相关内容

最新更新