Soapui read timed out in weblogic

Oracle Weblogic Server

On Weblogic10 MP2, SUN JDK 1.5.0.16 when running an XML request in Soap UI, a Read Timed Out error is being generated.

Running the same request again in Soap UI, but with a smaller records fetch size(smaller historical transactions) returns a valid response in 100secs.

It appears like the default Weblogic HTTP Time out is 60,000ms.

If Changing Weblogic’s “Period Length” attribute value and changing Weblogic’s “Stuck Thread Max Time” and “Stuck Thread Timer Interval” does not resolve the issue then please follow below setting.

ERROR in Domain log
———————–
####<9/02/2012 10:14:01 AM EST> <Error> <HTTP> <newsite.techpaste.com> <myserver> <[ACTIVE] ExecuteThread: ‘4’ for queue: ‘weblogic.kernel.Default (self-tuning)’> <> <> <> <1297211041327> <BEA-101019> <[weblogic.servlet.internal.WebAppServletContext@43919ee – appName: ‘ALTWWW’, name: ‘/alt’, context-path: ‘/alt’] Servlet failed with IOException
weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request: ‘/altwebs/pageRead’
at weblogic.servlet.internal.ServletRequestImpl$RequestParameters.mergePostParams(ServletRequestImpl.java:1816)
at weblogic.servlet.internal.ServletRequestImpl$RequestParameters.parseQueryParams(ServletRequestImpl.java:1703)
at weblogic.servlet.internal.ServletRequestImpl$RequestParameters.getQueryParams(ServletRequestImpl.java:1656)
at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:756)
at com.splwg.base.web.common.ServletHelper.populateProfileInfo(ServletHelper.java:149)
at com.splwg.base.web.common.ServletHelper.getRequestContext(ServletHelper.java:123)
at com.splwg.base.web.services.RequestContextFilter.doFilter(RequestContextFilter.java:48)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
java.net.SocketTimeoutException: Read timed out
at jrockit.net.SocketNativeIO.readBytesPinned(Native Method)
at jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:46)
….

Also, you might see many threads in STUCK state like below:

####<9/02/2012 11:57:07 AM EST> <Error> <WebLogicServer> <newsite.techpaste.com> <myserver> <[ACTIVE] ExecuteThread: ‘4’ for queue: ‘weblogic.kernel.Default (self-tuning)’> <> <> <> <1297119427157> <BEA-000337> <[STUCK] ExecuteThread: ‘2’ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “642” seconds working on the request “Http Request: /alt/myserver”, which is more than the configured time (StuckThreadMaxTime) of “600” seconds. Stack trace:
Thread-37 “[STUCK] ExecuteThread: ‘2’ for queue: ‘weblogic.kernel.Default (self-tuning)'” <alive, in native, suspended, priority=1, DAEMON> {jrockit.net.SocketNativeIO.readBytesPinned(SocketNativeIO.java:???)
— hopefully increasing the ReadTimeout would help resolving the issue, as weblogic default timeout is 1 min and SOAPUI (client) is getting response from the weblogic as TIMEDOUT with 1
Solution:
——–
– set the socket timeout in SOAP UI preferences to 300000(5 mins) or more
– now run the same xml which was throwing timed out error

In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.