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

Daniel Kulp reassigned CXF-3958:
--------------------------------

    Assignee: Daniel Kulp
    
> Unmarshalling error when using collections of subtypes with the 
> StaxTransformFeature and 'out' transformations
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-3958
>                 URL: https://issues.apache.org/jira/browse/CXF-3958
>             Project: CXF
>          Issue Type: Bug
>          Components: Configuration, Core, JAXB Databinding
>    Affects Versions: 2.4, 2.5
>            Reporter: Gareth Powell
>            Assignee: Daniel Kulp
>            Priority: Blocker
>         Attachments: cxf-versioning-bug.zip
>
>
> We are using the StaxTransformFeature to aid with the versioning of a number 
> or our web services but have hit upon a problem when invoking a web method 
> that returns a collection of subtypes. When the StaxTransformFeature 
> (specifically, the out element transforms) are used, the resultant SOAP 
> payload is malformed, and JAXB cannot unmarshall the collection. Below is an 
> example of the payload we get back:
>        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:xsi="xsi">
>            <soap:Body>
>                <ns2:getVehiclesResponse xmlns:ns2="example-1.0">
>                    <vehicles>
>                        <vehicle xsi:type="ns2:bicycle" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>                            <name>Marin</name>
>                        </vehicle>
>                        <vehicle xsi:type="ns2:car">
>                            <name>Ferrari</name>
>                        </vehicle>
>                        <vehicle xsi:type="ns2:motorcycle">
>                            <name>Yamaha</name>
>                        </vehicle>
>                    </vehicles>
>                </ns2:getVehiclesResponse>
>            </soap:Body>
>        </soap:Envelope>
> When we invoke the same service, but without the StaxTransformFeature, then 
> we get correct xml and JAXB is happy. A correct payload is shown below. As 
> you can clearly see, the difference between the two is that the correct one 
> includes 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";' for each 
> instance of the subtype, whereas the broken one, only has it for the first 
> element in the collection. I have attached a sample project in a zip file 
> that demonstrated the problem. It's a simple maven project, so just run 'mvn 
> test' to see the test failure.
>        <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>            <soap:Body>
>                <ns2:getVehiclesResponse xmlns:ns2="example-1.0">
>                    <vehicles>
>                        <vehicle xsi:type="ns2:bicycle" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>                            <name>Marin</name>
>                        </vehicle>
>                        <vehicle xsi:type="ns2:car" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>                            <name>Ferrari</name>
>                        </vehicle>
>                        <vehicle xsi:type="ns2:motorcycle" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>                            <name>Yamaha</name>
>                        </vehicle>
>                    </vehicles>
>                </ns2:getVehiclesResponse>
>            </soap:Body>
>        </soap:Envelope>
> This is a BLOCKER issue for us at the moment and we require urgent 
> resolution. Can you please advise as to whether there is something we can do 
> to either correct or work around the problem.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to