Gibt es eine Beschränkung für die maximale Größe von post-Daten auf einem web-application-server?

In meinem web-Anwendung gibt es eine form, die enthalten eine riesige Menge von Daten (abhängig vom Ergebnis einer vorherigen Abfrage). Wenn die form eine bestimmte Größe erreicht, wird das servlet nicht gewachsen sind und eine Ausnahme geworfen wird. Es scheint, dass der erste Versuch zum abrufen Anfrage-parameter das problem verursacht.

Habe ich versucht, das problem zu reproduzieren auf meinem test-server, aber nicht ein problem, auch wenn die Größe der Daten größer als auf dem Produktions-server.

Als ein Ergebnis, ich bin jetzt Fragen, ob es eine server-Einstellung, die begrenzt die Größe der Daten, die übergeben werden können, in eine Anfrage. Ich kann nur annehmen, dass es einen Unterschied in der Art der 2-Server konfiguriert sind.

Den application-server Websphere 7. Ich habe versucht, die Anwendung mit IE9, Aktueller FF und aktuellen Chrome - alle produzieren das gleiche Ergebnis.

Ausnahme ist

java.lang.IllegalArgumentException
com.ibm.wsspi.webcontainer.util.RequestUtils.parseQueryString 196
com.ibm.ws.webcontainer.servlet.RequestUtils.parsePostData 356
com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters 2051
com.ibm.ws.webcontainer.srt.SRTServletRequest.getParameter 1651
com.acme.Servlet.getNDC 126
com.acme.Servlet.doPost 96
javax.servlet.http.HttpServlet.service 738
javax.servlet.http.HttpServlet.service 831
com.ibm.ws.webcontainer.servlet.ServletWrapper.service 1658
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest 940
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest 503
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest 181
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest 91
com.ibm.ws.webcontainer.WebContainer.handleRequest 875
com.ibm.ws.webcontainer.WSWebContainer.handleRequest 1592
com.ibm.ws.webcontainer.channel.WCChannelLink.ready 186
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination 453
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest 515
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest 306
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete 83
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted 165
com.ibm.io.async.AbstractAsyncFuture.invokeCallback 217
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions 161
com.ibm.io.async.AsyncFuture.completed 138
com.ibm.io.async.ResultHandler.complete 204
com.ibm.io.async.ResultHandler.runEventProcessingLoop 775
com.ibm.io.async.ResultHandler$2.run 905
com.ibm.ws.util.ThreadPool$Worker.run 1646

Den code

protected String getNDC(HttpServletRequest request)
{
    String user = request.getHeader("iv-user");
    if (user == null)
        user = "";
    HttpSession session = request.getSession(false);
    String sessionString = session == null ? "" : session.getId();
    String action = request.getParameter(Constant.ACTION);   <=== ERROR HERE
    if(action == null)
        action = "";
    ....
InformationsquelleAutor paul | 2013-05-16
Schreibe einen Kommentar