I'm receiving occasional "Input read failed" exceptions from the dwr
servlet when my JS client polls for changes on the server. While it
does not happen every time, it happens frequent enough that I was able
to get an Ethereal capture of the transactions.
It appears that somehow IE starts a POST request for the dwr call, but
never actually posts the data (it doesn't seem to happen on FF). After
the ~10 second timeout, dwr does what it's supposed to and times out the
post request with the "Input read failed" exception. Below is an
example of the captured HTTP transaction, the first request succeeds,
while the second never actually posts the 259 bytes it claimed it was
going to send, both were on the same socket and the socket is still
active after the exception is returned. (The capture is from the client
side so it's hard to blame network now).
I am looking for people thoughts on what would cause the dwr request to
start but never actually post the data.
Thanks - Chris
Please excuse my awful depiction of an ethereal capture represented in
an email.
> POST /oims/dwr/call/plaincall/ChangeQueueProxy.getChangedData.dwr
HTTP/1.1
> Accept: */*
> Accept-Language: en-us
> Referer:
http://sunfire:8089/oims/index.jsp#Reports > Content-Type: text/plain
> UA-CPU: x86
> Accept-Encoding: gzip, deflate
> User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 2.0.50727; .NET CLR 1.1.4322)
> Host: sunfire:8089
> Content-Length: 259
> Connection: Keep-Alive
> Cache-Control: no-cache
> Cookie: gridSplitter_1=100; JSESSIONID=1853E064B9A2D7D780E970A0AD6B62A3
>
> callCount=1
> page=/oims/index.jsp
> httpSessionId=1853E064B9A2D7D780E970A0AD6B62A3
> scriptSessionId=120DDA8CB4E0E5C4CDF77A1D6E5AADB0131
> c0-scriptName=ChangeQueueProxy
> c0-methodName=getChangedData
> c0-id=0
> c0-param0=number:58
> c0-param1=number:552120343
> batchId=400
= HTTP/1.1 200 OK
= Content-Type: text/javascript;charset=ISO-8859-1
= Content-Length: 145
= Date: Fri, 18 Apr 2008 21:51:41 GMT
= Server: Apache-Coyote/1.1
=
= //#DWR-INSERT
= //#DWR-REPLY
= var s0=[];
=
dwr.engine._remoteHandleCallback('400','0',{changeList:s0,currentChangeNumber:58,reqChangeNumber:58});
> POST /oims/dwr/call/plaincall/ChangeQueueProxy.getChangedData.dwr
HTTP/1.1
> Accept: */*
> Accept-Language: en-us
> Referer:
http://sunfire:8089/oims/index.jsp#Reports > Content-Type: text/plain
> UA-CPU: x86
> Accept-Encoding: gzip, deflate
> User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 2.0.50727; .NET CLR 1.1.4322)
> Host: sunfire:8089
> Content-Length: 259
> Connection: Keep-Alive
> Cache-Control: no-cache
> Cookie: gridSplitter_1=100; JSESSIONID=1853E064B9A2D7D780E970A0AD6B62A3
>
= HTTP/1.1 200 OK
= Content-Type: text/javascript;charset=ISO-8859-1
= Content-Length: 332
= Date: Fri, 18 Apr 2008 21:52:11 GMT
= Server: Apache-Coyote/1.1
=
= //#DWR-REPLY
= if (window.dwr) dwr.engine._remoteHandleBatchException({
name:'org.directwebremoting.extend.ServerException', message:'Failed to
read input' });
= else if (window.parent.dwr)
window.parent.dwr.engine._remoteHandleBatchException({
name:'org.directwebremoting.extend.ServerException', message:'Failed to
read input' });
---------------------------------------------------------------------
To unsubscribe, e-mail:
users-unsubscribe@...
For additional commands, e-mail:
users-help@...