[ https://issues.apache.org/jira/browse/CXF-5742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-5742. ------------------------------ Resolution: Cannot Reproduce Fix Version/s: Invalid Assignee: Daniel Kulp Not something we could reproduce, but also doesn't really look like a CXF issue. The Content-Length header is set, but there doesn't seem to be any data received in the content. That would imply either an issue in Jetty or in the load balancer. > Http Request Payload missing from Apache HTTP Server to Embedded Jetty server > ----------------------------------------------------------------------------- > > Key: CXF-5742 > URL: https://issues.apache.org/jira/browse/CXF-5742 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.7.10 > Environment: CXF 2.7.10 > Unix platform and JDK 7 > Container being used - Jetty 8 > Reporter: sai sri harsha gudladona > Assignee: Daniel Kulp > Priority: Critical > Fix For: Invalid > > > Hello, > We have a REST web service application based on Spring and CXF. > The client can send a XML request and receive the response, the interceptors > are all fine, and authentication works fine too. > But We intermittently observing the Request Payload being missed on the Jetty > 8 server when tested under a considerable load. > The Apache HTTP Server(two Apache HTTP servers) is under a load Balancer and > the load is further distributed to 4 Jetty Servers. > We observed "Payload:" header printed in the server logs for the requests > that go through successfully. For the requests that failed no Payload Header > was observed to be printed in the jetty server Logs. > Below are the details of the Request and Response. > Request: > -------------------------------------- > May 13, 2014 9:34:09 PM org.apache.cxf.interceptor.LoggingInInterceptor > INFO: Inbound Message > ---------------------------- > ID: 5234 > Address: > https://qa.p.****.com/rest/1/07/Account/urn:****:accountid:org:dece:F94FCC3565718056E0401F0A3E997368/User > Encoding: UTF-8 > Http-Method: POST > Content-Type: application/xml > Headers: {Accept=[*/*], Cache-Control=[no-cache], connection=[Keep-Alive], > Content-Length=[1252], content-type=[application/xml], > cookie=[JSESSIONID=oovyjh0hjty6l16xgbbo8eaq.api4], ****_header=[ > t=1400016849110245 U3KP0QofmJEAAA2eCmgAAAEt urn:dece:org:org:dece:700700 > (null)], ****_request=[Unique_ID=U3KP0QofmJEAAA2eCmgAAAEt], > dynaTrace=[NA=POST_UserCreate;PC=UserCreate;VU=431;ID=1400016848618], > host=[qa.p.****.com:7003], SSL_CLIENT_NODEID=[urn:dece:org:org:dece:700700], > user-agent=[Jakarta Commons-HttpClient/3.1], VHOST=[provision]} > -------------------------------------- > Exception: > May 13, 2014 9:34:09 PM org.apache.cxf.jaxrs.provider.AbstractJAXBProvider > handleExceptionStart > WARNING: javax.xml.bind.UnmarshalException > - with linked exception: > [com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog > at [row,col {unknown-source}]: [1,0]] > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:436) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:372) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:342) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.unmarshalFromInputStream(JAXBElementProvider.java:272) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.doUnmarshal(JAXBElementProvider.java:225) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:184) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1280) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1231) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:782) > at > org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:741) > at > org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:254) > at > org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:90) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:167) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496) > at > biz.neustar.dece.log.DeceLogRequestInterceptor.doFilter(DeceLogRequestInterceptor.java:352) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at > org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) > at > org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:744) > Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog > at [row,col {unknown-source}]: [1,0] > at > com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:677) > at > com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2139) > at > com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2045) > at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1134) > at > com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:164) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370) > at > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:342) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.unmarshalFromInputStream(JAXBElementProvider.java:272) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.doUnmarshal(JAXBElementProvider.java:225) > at > org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:184) > ... 47 more > Response: > May 13, 2014 9:34:09 PM org.apache.cxf.interceptor.LoggingOutInterceptor > INFO: Outbound Message > --------------------------- > ID: 5234 > Response-Code: 500 > Content-Type: application/xml > Headers: {Connection=[close], x-Transaction-Info=[t=1400016849 > U3KP0QofmJEAAA2eCmgAAAEt urn:****:org:org:dece:700700 10.31.153.241], > Date=[Tue, 13 May 2014 21:34:09 GMT]} > Payload: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <ErrorList xmlns="http://www.*****.org/schema/****/**/****" > xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" > xmlns:ns4="http://www.w3.org/2001/04/xmlenc#"> > <Error ErrorID="urn:****:errorid:org:dece:InternalServerError"> > <Reason Language="en">An internal server error occurred.</Reason> > > <OriginalRequest>https://qa.p.****.com/rest/1/07/Account/urn:****:accountid:org:dece:F94FCC3565718056E0401F0A3E997368/User</OriginalRequest> > > <ErrorLink>https://qa.q.****.com:7003/rest/1/07/error/en/ErrorList.html#InternalServerError</ErrorLink> > </Error> > </ErrorList> > -------------------------------------- > As we observe this issue intermittently, at this moment we don't have a > consistent way to reproduce and debug this issue. Please help us resolve this > issue. -- This message was sent by Atlassian JIRA (v6.3.4#6332)