DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=43610>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=43610 Summary: Using APR library, soap requests fail on slow network. Product: Tomcat 5 Version: 5.5.23 Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Connector:AJP AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Platform : RedHat ES 4, Apache 2.2.4, libapr-1.so.0.2.8, libtcnative-1.so.0.1.6, Tomcat 5.5.23, Axis 1.4 Overview description: --------------------- A C# client sends, by default, a soap request in two parts : Request-Line/Headers and then the body. If the request is sent on a slow network, the request fails (See the stacktrace below). AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException faultSubcode: faultString: java.io.IOException: Socket read failed faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.io.IOException: Socket read failed at org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:1035) at org.apache.coyote.ajp.AjpAprProcessor.readMessage(AjpAprProcessor.java:1156) at org.apache.coyote.ajp.AjpAprProcessor.receive(AjpAprProcessor.java:1088) at org.apache.coyote.ajp.AjpAprProcessor$SocketInputBuffer.doRead(AjpAprProcessor.java:1226) at org.apache.coyote.Request.doRead(Request.java:419) at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:265) at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:370) at org.apache.catalina.connector.InputBuffer.readByte(InputBuffer.java:274) at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:105) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:2622) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:1033) at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:184) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:798) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.server.AxisServer.initSOAPConstants(AxisServer.java:345) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at com.alcatel.unifiedlogin.AlcUnifiedLoginServletWS.doPost(AlcUnifiedLoginServletWS.java:106) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:393) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:542) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444) at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:472) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286) at java.lang.Thread.run(Thread.java:595) Steps to reproduce: -------------------- 1) Send soap request headers with 'Expect: 100-continue' header POST /UnifiedLogin/services/AlcMpc HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832) Content-Type: text/xml; charset=utf-8 SOAPAction: "getTopologyAndUserInformation" Host: srvecc.aouch.alcatel.com Content-Length: 428 Expect: 100-continue Connection: Close 2) Wait for 'HTTP/1.1 100 Continue' response 3) Wait 100 milliseconds 4) Send the soap body <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body><in0 xmlns="http://mpc.alcatel.com"> <parameter xmlns="http://types.mpc.alcatel.com">16C636164756C6F5162747865727E2D696C6C6562702132333430213138393636383531313433383</parameter></in0> </soap:Body> </soap:Envelope> 5) Wait for the response, you should get something like that HTTP/1.1 500 Internal Server Error Date: Thu, 13 Sep 2007 07:28:32 GMT Server: Apache Set-Cookie: JSESSIONID=896692451D3787425D67734FEF50A658.exttomcat1; Path=/UnifiedLogin Connection: close Transfer-Encoding: chunked Content-Type: text/xml;charset=utf-8 207 <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server.userException</faultcode> <faultstring>java.io.IOException: Socket read failed</faultstring> <detail><ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">srvecc.aouch.alcatel.com</ns1:hostname></detail> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> 0 Actual Results: Soap requests fail on slow network. Expected Results: Soap request should not failed, AjpAprProcessor.read(int n) method should wait for body part. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]