Error:
weblogic.utils.http.MaxRequestParameterExceedException
at weblogic.utils.http.QueryParams.checkLimit(QueryParams.java:52)
at weblogic.utils.http.QueryParams.getCurrentAndCheck(QueryParams.java:46)
at weblogic.utils.http.QueryParams.put(QueryParams.java:79)
Description:
The default value of MaxRequestParamterCount is 10,000, crossing which would cause a MaxRequestParameterExceedException
Solution:
1.We can apply patch 13656558 for version 10.3.6, but since it is a security patch it is not freely available
Instead we can upgrade our version to 10.3.6.0.4 by applying patch 16083651.
(patch 16083651already in itself includes the patch 13656558).
2. Follow Doc ID 1505598.1
The MaxRequestParamterCount can be set in 3 places:
On the WebAppContainerMBean, which is under the DomainMBean and has domain wide effect.
On the WebServerMBean, which is under ServerMBean and has effect on only JVM.
This overrides settings on the WebAppContainerMBean.
On the VirtualHostMBean. Virtual hosts, like servers, are under DomainMBean.
This overrides settings on the WebAppContainerMBean.
Use WLST to set it
WebAppContainerMBean:
$ connect('<user>','<pwd>','<admin_url>')
$ edit()
$ startEdit()
$ cmo.getWebAppContainer().setMaxRequestParamterCount(1000)
$ save()
$ activate()
$ exit()
WebServerMBean:
$ connect('<user>','<pwd>','<admin_url>')
$ edit()
$ startEdit()
$ cd('Servers/<server-name>')
$ cmo.getWebServer().setMaxRequestParamterCount(1000)
$ save()
$ activate()
$ exit()
For VirtualHostMBean:
$ connect('<user>','<pwd>','<admin_url>')
$ edit()
$ startEdit()
$ cd('VirtualHosts/<virtualhost>')
$ cmo.setMaxRequestParamterCount(1000)
$ save()
$ activate()
$ exit()
I tried making the change in my 12.1.1.0.3 and it works fine.
Adminserver.log
####<Aug 21, 2013
10:45:03 AM IST> <Info> <Management> <****>
<> <[ACTIVE] ExecuteThread: '0' for queue:
'weblogic.kernel.Default (self-tuning)'> <> <> <>
<1377062103640> <BEA-000000> <Version: WebLogic Server
12.1.1.0.3 PSU Patch for BUG14736141 Mon Dec 17 02:10:51 MST 2012
cmd
D:\work\wls\wls12.1.1\user_projects\domains\base_domain\bin>setDomainEnv.cmd
D:\work\wls\wls12.1.1\user_projects\domains\base_domain>cd D:\work\wls\wls12.1.1
\wlserver_12.1\common\bin
D:\work\wls\wls12.1.1\wlserver_12.1\common\bin>
D:\work\wls\wls12.1.1\wlserver_12.1\common\bin>wlst.cmd
wls:/base_domain/config> connect('weblogic','welcome1','t3://localhost:8001')
wls:/base_domain/config> easeSyntax()
wls:/base_domain/serverConfig/Servers/m1/WebServer/m1>
wls:/base_domain/serverConfig/Servers/m1/WebServer/m1> edit
<function edit 3>
wls:/base_domain/edit> cd Servers
wls:/base_domain/edit/Servers> cd m1
wls:/base_domain/edit/Servers/m1> cd WebServer
wls:/base_domain/edit/Servers/m1/WebServer> cd m1
wls:/base_domain/edit/Servers/m1/WebServer/m1> startEdit ()
Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
wls:/base_domain/edit/Servers/m1/WebServer/m1 !> cmo.getMaxRequestParamterCount()
10000
wls:/base_domain/edit/Servers/m1/WebServer/m1 !> cmo.setMaxRequestParamterCount(-1)
wls:/base_domain/edit/Servers/m1/WebServer/m1 !>ls
wls:/base_domain/edit/Servers/m1/WebServer/m1 !> ls
dr-- Targets
dr-- WebServerLog
-rw- AcceptContextPathInGetRealPath false
-rw- AuthCookieEnabled true
-rw- Charsets null
-rw- ChunkedTransferDisabled false
-rw- ClientIpHeader null
-rw- DefaultWebAppContextRoot null
-rw- DeploymentOrder 1000
-rw- FrontendHTTPPort 0
-rw- FrontendHTTPSPort 0
-rw- FrontendHost null
-rw- HttpsKeepAliveSecs 60
-rw- KeepAliveEnabled true
-rw- KeepAliveSecs 30
-rw- MaxPostSize -1
-rw- MaxPostTimeSecs -1
-rw- MaxRequestParamterCount -1
wls:/base_domain/edit/Servers/m1/WebServer/m1 !> save
<function save 4>
wls:/base_domain/edit/Servers/m1/WebServer/m1 !> save ()
Saving all your changes ...
Saved all your changes successfully.
Reference:
Doc ID 1505598.1