cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot read request body.

Former Member
0 Kudos

I am running EP 6 SP15 Java AS. There are two java engines, one dispatcher. It seems that only the second engine is generating this error:

Cannot read request body.

com.sap.engine.services.httpserver.exceptions.HttpIOException: Read timeout. The client has disconnected or a synchronization error has occurred. Read [0] bytes. Expected [4477].

at com.sap.engine.services.httpserver.server.io.HttpInputStream.read(HttpInputStream.java:186)

at com.sap.engine.services.httpserver.server.RequestImpl.readBodyFromStream(RequestImpl.java:281)

at com.sap.engine.services.httpserver.server.RequestImpl.getRequestParametersBody(RequestImpl.java:256)

at com.sap.engine.services.httpserver.server.RequestAnalizer.getRequestParametersBody(RequestAnalizer.java:405)

at com.sap.engine.services.servlets_jsp.server.lib.WebParseUtils.parseParameters(WebParseUtils.java:166)

at com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestImpl.parseParameters(HttpServletRequestImpl.java:1440)

at com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestImpl.getParameterValues(HttpServletRequestImpl.java:440)

at com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletRequestImpl.getParameter(HttpServletRequestImpl.java:387)

at com.sapportals.portal.prt.connection.UMHandler.handleUM(UMHandler.java:60)

at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:186)

at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)

at java.security.AccessController.doPrivileged(Native Method)

at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

The error is not occurring every time a user is on the second engine and I can see no pattern on the times it does happen. I had a feeling that this time out was on the client side so I increased the wait time for the response. That did not solve the problem.

Could the issue be with the dispatcher not forwarding data to the second engine or maybe the problem is at the reverse proxy?

Anyone?

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi David,

it seems that we have a similar problem. We run a SAP Portal EP 6 SP16 and receive the problem since we've installed sp16. Its getting worse the more load we have in the portal but it seems not to be a hardware problem since we have enough server resources all the time. The architecture is similar to yours. We run 4 server instances and a dispatcher. A reverse proxy handles and sends the user requests.We discovered that the problem starts after one of the engines crashes and restarts. First a jms-exception is raised:

An exception has been received from the JMS Connection

[EXCEPTION]

com.sap.jms.server.exception.JMSServerException: JMS primary node is down! Please recreate all used jms resources.

at com.sap.jms.server.context.impl.ConnectionContextImpl.exit(ConnectionContextImpl.java:349)

at com.sap.jms.server.JMSServerContainer.onServiceLoss(JMSServerContainer.java:1002)

at com.sap.jms.server.JMSServerFrame.serviceStopped(JMSServerFrame.java:605)

at com.sap.engine.core.cluster.impl6.ms.MSEventQueue.process(MSEventQueue.java:98)

at com.sap.engine.core.cluster.impl6.ms.MSEventThread.run(MSEventThread.java:37)

at com.sap.engine.frame.core.thread.Task.run(Task.java(Compiled Code))

at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java(Compiled Code))

at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java(Compiled Code))

Afterwards the Exception below is logged. The dispatcher cannot work properly any longer and the whole application has to be restarted..

Did you or anyone find out the reason for the error?

Thanks in advance!!

Martina

Former Member
0 Kudos

Also!

I just read your post to my original problem.

Two lines to check for that particular error.

In Visual Administrator > GLOBAL Configurataion > Server > HTTP Provider

The lines ServletInputStreamTimeout and ServletsLongDataTransferTimeout, what are the values? OSS had me set them to 60000 due to slower client connections.