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

Manuel Shenavai commented on CXF-9091:
--------------------------------------

Hi [~ffang], just to emphasize my previous comment:
You can see that in the old codeline there was a interceptor 
(PolicyBasedWSS4JInInterceptor) reading the payload before any response code 
was returned. The old codeline would not return HTTP 202 before reading the 
complete payload.
In my test I send a invalid XML to the endpoint. In old codeline, the response 
is 500 while in the new codeline the broken payload is accepted and HTTP 202 is 
returned.

So I think a potential fix would require to read the complete payload before 
returning HTTP 202.

Best regards,
Manuel


Daemon Thread [https-jsse-nio-8041-exec-18]
org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:262)
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.getSOAPMessage(WSS4JInInterceptor.java:167)
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:234)
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:200)
org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:80)
org.apache.cxf.ws.security.wss4j.PolicyBasedWSS4JInInterceptor.handleMessage(PolicyBasedWSS4JInInterceptor.java:67)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)...

> Camel 3|CXF: ParsingErrors with OneWay Messages
> -----------------------------------------------
>
>                 Key: CXF-9091
>                 URL: https://issues.apache.org/jira/browse/CXF-9091
>             Project: CXF
>          Issue Type: Bug
>            Reporter: Manuel Shenavai
>            Priority: Major
>
> Hi everyone,
> we recently moved from Camel 2 to Camel 3 and we are now observing the 
> following problem with CXF. If a OneWay message exceeds a certain length, the 
> messages fail with a parser error like:
> Caused by: java.lang.IllegalStateException: Current event not START_ELEMENT 
> or END_ELEMENT
> at 
> com.ctc.wstx.sr.BasicStreamReader.getNamespaceCount(BasicStreamReader.java:805)
>  ~[woodstox-core-6.2.7.jar:6.2.7]
> at 
> org.apache.cxf.staxutils.DepthXMLStreamReader.getNamespaceCount(DepthXMLStreamReader.java:122)
>  ~[cxf-core-3.5.2.jar:3.5.2]
> at 
> org.apache.cxf.staxutils.DepthXMLStreamReader.getNamespaceCount(DepthXMLStreamReader.java:122)
>  ~[cxf-core-3.5.2.jar:3.5.2]
> at 
> org.apache.camel.component.cxf.converter.DelegatingXMLStreamReader.<init>(DelegatingXMLStreamReader.java:40)
>  ~[camel-cxf-3.17.0.jar:3.17.0]
> at 
> org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:225)
>  ~[camel-cxf-3.17.0.jar:3.17.0]
> at 
> org.apache.camel.component.cxf.converter.CxfPayloadConverterLoader.lambda$registerFallbackConverters$8(CxfPayloadConverterLoader.java:68)
>  ~[camel-cxf-3.17.0.jar:3.17.0]
> at 
> org.apache.camel.support.SimpleTypeConverter.convertTo(SimpleTypeConverter.java:101)
>  ~[camel-support-3.17.0.jar:3.17.0]
> ... 30 common frames omitted
> The error will not happen if we reduce the length of the message or if we 
> change it from OneWay to ResponseReply. This indicates a problem in the async 
> decoupling of the request.
> During debugging I found that the HTTP thread is used to handle the request. 
> But the actual processing of the message happens in new thread. Maybe the 
> input stream is closed after the http thread is finished (HTTP 202) and the 
> spawned thread cannot read the full content anymore.
> I created the following reproducer based on Spring Boot: 
> [https://github.com/mash-sap/cxfOneWayError/tree/main]
> CXF: 3.6.5
> Camel CXF: 3.17.0
> Tomcat: 9.0.83
> Mailinglist Post: 
> https://lists.apache.org/thread/vproojr7pcygpjtrygfxj8qcgj1x2q4x



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to