camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aki Yoshida (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-5877) Sporadic Source Conversion issues with CxfPayload
Date Wed, 19 Dec 2012 19:53:13 GMT

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

Aki Yoshida commented on CAMEL-5877:
------------------------------------

Hi Dan,
it looks very good.
thanks.
regards, aki

                
> Sporadic Source Conversion issues with CxfPayload
> -------------------------------------------------
>
>                 Key: CAMEL-5877
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5877
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.10.3
>            Reporter: Aki Yoshida
>            Assignee: Daniel Kulp
>             Fix For: 2.10.4
>
>         Attachments: camel-cxf-payload-source-20121214.patch
>
>
> There is one concrete issue to report and there is an additional point that I would like
to bring up.
> First, the concrete issue is that CxfEndpoints' findName does not currently handle SAXSource.
Consequently, the it fails to find the element name when the payload source is of SAXSource.
> This issue can be observed sporadically, as there is a chance the Source could be SAXSource.
Because of the nature of this problem explained below, this issue may be observed non-deterministically
and consequently it is not often observed.
> What is happening is that, when a conversion to CxfPayload is triggered, CxfPayloadConverter's
convertTo method arbitrarily picks a converter that can convert the input to Source. The code
goes into BaseTypeConverterRegistry and searches for a matching converter in its type mappings'
entry set. As this set has no deterministic ordering and there are several matching converters,
an arbitrary converter is picked up. THe chance of getting the SAXSource converter is small
but not zero. Therefore, when this happens, CxfEndpoint's findName is not finding the element
name as there is no handling for SAXSource. Interestingly, the DOMSource converter is the
most frequently picked converter, followed by the StaxSource converter.
> So, SAXSource handling needs to be added in CXFEndpoint's findName method.
> The second point is about the preferred Source held in CxfPayload. I think for jdk 1.6
or above, StAXSource could be the preferred source. In that case, we can use the StAXSource
converter instead of arbitrarily picking one of the Source converters. We can adjust CxfPayloadConverter's
convertTo method to look up for the StAXSource converter first.
> I am attaching a proposed patch (the correction for the first issue and the suggestion
regarding the second point, assuming StAXSource is preferred.). Could you review it and comment
on it?
> Thanks.
> Regards, aki

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message