cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-5742) Http Request Payload missing from Apache HTTP Server to Embedded Jetty server
Date Wed, 14 May 2014 20:02:15 GMT

    [ https://issues.apache.org/jira/browse/CXF-5742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13997956#comment-13997956
] 

Daniel Kulp commented on CXF-5742:
----------------------------------


Also, try removing the DeceLogRequestInterceptor filter and the two spring filters if at all
possible. 

Another note is that the user-agent is different in the two cases.   Apache-HttpClient/4.1.1
 vs.  Jakarta Commons-HttpClient/3.1.   Thus, you have two different types of clients hitting
it.  Is it always the "Jakarta" ones that are issues?

> 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
>            Priority: Critical
>
> 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.2#6252)

Mime
View raw message