[ 
https://issues.apache.org/jira/browse/CXF-7577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jarry Shao updated CXF-7577:
----------------------------
    Description: 
{color:red}Here is the tcpdump:{color}

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.mess...@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.mess...@cxf.apache.org>

<soap:Envelope xmlns:soap=**********
{color:red}/**
* The Content
**/{color}
+...'..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+....
{color:#14892c}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>
{color}
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)


  was:
{color:red}Here is the tcpdump:{color}

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.mess...@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.mess...@cxf.apache.org>

<soap:Envelope xmlns:soap=**********
{color:red}/**
* The Content
**/{color}
+...'..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+....
{color:#14892c}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>
{color}
As you can see, there're some missings for the SOAP message.
The Attachment hadn't finished packageing for the SOAP message, even didn't 
have a boundary at the end of the message.
So, what's the problem?
It's weird and strange....
Did it a Bug ?

And that's my client Properties:

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





        Summary: CXF [Async Client] Client didn't received the Http Status 
Code:400 as a SOAP Fault.  (was: CXF [Async Client] Didn't finished to  package 
the SOAP Message.)

> CXF [Async Client] Client didn't received the Http Status Code:400 as a SOAP 
> Fault.
> -----------------------------------------------------------------------------------
>
>                 Key: CXF-7577
>                 URL: https://issues.apache.org/jira/browse/CXF-7577
>             Project: CXF
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 3.1.11
>            Reporter: Jarry Shao
>
> {color:red}Here is the tcpdump:{color}
> 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.mess...@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.mess...@cxf.apache.org>
> <soap:Envelope xmlns:soap=**********
> {color:red}/**
> * The Content
> **/{color}
> +...'..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+....
> {color:#14892c}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>
> {color}
> 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)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to