[
https://issues.apache.org/jira/browse/CXF-9091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17914015#comment-17914015
]
Manuel Shenavai commented on CXF-9091:
--------------------------------------
I found that in Camel 2, this problem will not occur if the WSDL contains the
following policy (attaching the full wsdl to this ticket):
<sp:TransportBinding
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken>
<wsp:Policy>
<wsp:ExactlyOne>
<sp:HttpBasicAuthentication/>
<sp:RequireClientCertificate/>
</wsp:ExactlyOne>
</wsp:Policy>
</sp:HttpsToken>
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<wsp:ExactlyOne>
<sp:Basic256/>
<sp:Basic192/>
<sp:Basic128/>
<sp:TripleDes/>
<sp:Basic256Rsa15/>
<sp:Basic192Rsa15/>
<sp:Basic128Rsa15/>
<sp:TripleDesRsa15/>
<sp:Basic256Sha256/>
<sp:Basic192Sha256/>
<sp:Basic128Sha256/>
<sp:TripleDesSha256/>
<sp:Basic256Sha256Rsa15/>
<sp:Basic192Sha256Rsa15/>
<sp:Basic128Sha256Rsa15/>
<sp:TripleDesSha256Rsa15/>
</wsp:ExactlyOne>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>
</wsp:Policy>
</sp:TransportBinding>
> 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
> Assignee: Freeman Yue Fang
> 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)