Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-7577

CXF [Async Client] Client didn't received the Http Status Code:400 as a SOAP Fault.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.4.10, 3.1.11
    • Fix Version/s: NeedMoreInfo
    • Component/s: Transports
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      Client 3.1.11
      Server 2.4.4

      Here is the tcpdump:

      Accept: /
      User-Agent: Apache CXF 3.1.11
      SOAPAction: "*******"
      Transfer-Encoding: chunked
      Content-Type: multipart/related; type="application/xop+xml"; boundary="uuid:5697c391-f4ff-41b0-8674-d92b30fac633"; start="<root.message@cxf.apache.org>"; start-info="text/xml"
      Connection: Keep-Alive

      3e13
      --uuid:5697c391-f4ff-41b0-8674-d92b30fac633
      Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
      Content-Transfer-Encoding: binary
      Content-ID: <root.message@cxf.apache.org>

      <soap:Envelope xmlns:soap=**********
      /**
      * The Content
      **/

      ...'..b).>.....h...K.Xx..c1V,....[.X.$..b....XxrM..v......V..B.s...........}.2..j....)a..+.P.h_..5..u.P.._n.....B...X.3...<V,..,V,.....7.c...c.X.-......b.F+V,<.JNk....gM.Xx.k....Z...3Z....Z...
      .Xx.H+......'..b.I<....Ih..[..O.r.;Z.s..sWZ.F..w.X..2wb....X.psgE......"C..]B.jv...Psi.7.Z.]~.......[.t.]gyg.X..9%V.....c...r.Xx......H.S+....
      HTTP/1.1 400 Bad Request
      Date: Sun, 03 Dec 2017 06:26:04 GMT
      Content-Length: 226
      Connection: close
      Content-Type: text/html; charset=iso-8859-1

      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
      <html><head>
      <title>400 Bad Request</title>
      </head><body>
      <h1>Bad Request</h1>
      <p>Your browser sent a request that this server could not understand.<br />
      </p>
      </body></html>

      As you can see, there's a 400 Bad Request occurred.
      But The Client didn't receive the Response as a SOAP Fault.
      It seems that it had ignored it.

      And that's my client Properties:

      httpClientPolicy.setConnectionTimeout(40000);
      httpClientPolicy.setAllowChunking(true);
      httpClientPolicy.setAsyncExecuteTimeout(80000);
      httpClientPolicy.setAsyncExecuteTimeoutRejection(true);
      httpClientPolicy.setReceiveTimeout(60000);

      Here is the Server Stack Trace:

      has thrown exception, unwinding now
      java.lang.RuntimeException: org.eclipse.jetty.io.EofException
      at org.apache.cxf.attachment.LazyAttachmentCollection.loadAll(LazyAttachmentCollection.java:58)
      at org.apache.cxf.attachment.LazyAttachmentCollection.size(LazyAttachmentCollection.java:120)
      at org.apache.servicemix.cxfbc.interceptors.JbiOperationInterceptor.loadAttachments(JbiOperationInterceptor.java:102)
      at org.apache.servicemix.cxfbc.interceptors.JbiOperationInterceptor.handleMessage(JbiOperationInterceptor.java:48)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
      at org.apache.servicemix.cxfbc.CxfBcConsumer$JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:754)
      at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:319)
      at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:287)
      at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:936)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:873)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
      at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247)
      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:346)
      at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:581)
      at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1057)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:899)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220)
      at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:526)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:41)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: org.eclipse.jetty.io.EofException
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:321)
      at org.eclipse.jetty.http.HttpParser.blockForContent(HttpParser.java:1148)
      at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:57)
      at java.io.FilterInputStream.read(FilterInputStream.java:133)
      at java.io.FilterInputStream.read(FilterInputStream.java:133)
      at java.io.PushbackInputStream.read(PushbackInputStream.java:186)
      at org.apache.cxf.attachment.MimeBodyPartInputStream.read(MimeBodyPartInputStream.java:79)
      at java.io.InputStream.read(InputStream.java:101)
      at org.apache.cxf.attachment.DelegatingInputStream.read(DelegatingInputStream.java:89)
      at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:143)
      at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:103)
      at org.apache.cxf.attachment.AttachmentDataSource.cache(AttachmentDataSource.java:49)
      at org.apache.cxf.attachment.AttachmentDeserializer.cacheStreamedAttachments(AttachmentDeserializer.java:240)
      at org.apache.cxf.attachment.AttachmentDeserializer.readNext(AttachmentDeserializer.java:204)
      at org.apache.cxf.attachment.LazyAttachmentCollection.loadAll(LazyAttachmentCollection.java:55)

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Jarry Jarry Shao
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: