Product Version Bea WLS 8.1 SP4
Running on a RedHat Linux Server
I'm using the WLS plugin mod_wl_20.so for Apache Server 2.0
Every day we get the same error in the server log when we have high volume of
traffic
This is the errormsg in the serverlog:
*====================================================================
<Apr 1, 2008 11:00:13 AM CEST> <Error> <MobileCtrlLog>
<000000> <CustId: null ReqId: MCtrlId: Msg: AppName:
Exception caugth during customername/sendsms:
com.customer.product.exception.MyCtrlExcept
ion: Failed to read XML from request: java.net.ProtocolException: EOF after
reading only: '451' of: '451'
promised bytes, out of which at least: '-1' were already buffered [origin
MyCtrlException]
java.net.ProtocolException: EOF after reading only: '451' of: '451' promised
bytes, out of which at least:
'-1' were already buffered
at
weblogic.servlet.internal.PostInputStream.complain(PostInputStream.java:91)
at
weblogic.servlet.internal.PostInputStream.read(PostInputStream.java:134)
at
weblogic.servlet.internal.ServletInputStreamImpl.read(ServletInputStreamImpl.jav
a:168)
at
javax.servlet.ServletInputStream.readLine(ServletInputStream.java:138)
at
com.customer.product.receiver.http.ProcessorCommand.extractReceivedXML(Processor
Command.java:101
)
at
com.customer.product.receiver.http.ProcessorCommand.execute(ProcessorCommand.jav
a:76)
at
com.customer.product.receiver.http.SMSProController.processRequest(SMSProControl
ler.java:105)
at
com.customer.product.receiver.http.SMSProController.doPost(SMSProController.java
:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStu
bImpl.java:1006
)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419
)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315
)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAp
pServletContext
.java:6718)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.ja
va:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContex
t.java:3764)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:264
4)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
******* end WLS server msg ********************
We had a look at the incoming TCP traffic.
This is the output from Wireshark
(traffic from webserver to WLS server)
37320 46.857263 xxx.xxx.x.xx xxx.xxx.x.xx TCP 46537 > afs3-vlserver [PSH,
ACK] Seq=1 Ack=1 Win=24820 Len=454
Transmission Control Protocol, Src Port: 46537 (46537), Dst Port: afs3-vlserver
(7003), Seq: 1, Ack: 1, Len: 454
POST customername/sendsms HTTP/1.1
Content-Type: text/xml
Accept: text/xml, text/html
pwpw: karies
User-Agent: SMSR
Host: hostname.net
Content-Length: 447
Cache-Control: no-cache
Connection: Keep-Alive
WL-Proxy-SSL: false
WL-PATH-TRIM: /services
WL-PATH-PREPEND: /requestprocessor
WL-Proxy-Client-IP: xxx.xxx.xxx.xxx
Proxy-Client-IP: xxx.xxx.xxx.xxx
X-Forwarded-For: xxx.xxx.xxx.xxx
X-WebLogic-Force-JVMID: -989928412
37322 46.857305 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx TCP 46536 > afs3-vlserver
[PSH, ACK] Seq=1 Ack=1 Win=24820 Len=454
Transmission Control Protocol, Src Port: 46536 (46536), Dst Port: afs3-vlserver
(7003), Seq: 1, Ack: 1, Len: 454
POST customername/sendsms HTTP/1.1
Content-Type: text/xml
Accept: text/xml, text/html
pwpw: karies
User-Agent: SMSR
Host: hostname.net
Content-Length: 451
Cache-Control: no-cache
Connection: Keep-Alive
WL-Proxy-SSL: false
WL-PATH-TRIM: /services
WL-PATH-PREPEND: /requestprocessor
WL-Proxy-Client-IP: xxx.xxx.xxx.xxx
Proxy-Client-IP: xxx.xxx.xxx.xxx
X-Forwarded-For: xxx.xxx.xxx.xxx
X-WebLogic-Force-JVMID: -989928412
37324 46.857347 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx TCP 46537 > afs3-vlserver
[PSH, ACK] Seq=455 Ack=1 Win=24820 Len=447
Transmission Control Protocol, Src Port: 46537 (46537), Dst Port: afs3-vlserver
(7003), Seq: 455, Ack: 1, Len: 447
37326 46.857400 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx TCP 46536 > afs3-vlserver
[PSH, ACK] Seq=455 Ack=1 Win=24820 Len=451
Transmission Control Protocol, Src Port: 46536 (46536), Dst Port: afs3-vlserver
(7003), Seq: 455, Ack: 1, Len: 451
Looks to me as WLS is confused and wants to read 447 bytes (as stated in msg#
37320) but gets the msg with 451 bytes
(msg# 37326).
There are different TCP connections 46537 and 46536
Need help ! Anyone wtih an idea what is wrong or what to look at ?
|