[
https://issues.apache.org/jira/browse/CXF-5753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Edwin updated CXF-5753:
-----------------------
Description:
We have an issue with unmarshalling of existing SOAP messages after upgrading
to CXF 2.7.9.
I created a service which reproduces the issue. The request for this service
is generated by older axis clients as follows:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://service.sample.com/">
<soapenv:Header/>
<soapenv:Body>
<getDataFromWebService xmlns="http://service.sample.com/">
<person xmlns="">
<age>1</age>
<description>?</description>
<name>1</name>
</person>
</getDataFromWebService>
</soapenv:Body>
</soapenv:Envelope>
This request works fine with CXF 2.7.5 but after upgrading to CXF 2.7.9 it gets
"Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found
starting with element 'person'. One of '{person}' is expected.".
If I remove the JAXWS handler then it works fine with CXF 2.7.9.
After stepping through the code, it seems like the issue might be related to
W3CDOMStreamReader which gets used when a JAXWS handler is configured versus a
ValidatingStreamReader which gets created when an JAXWS handler is not
configured.
was:
We have an issue with unmarshalling of existing SOAP messages after upgrading
to CXF 2.7.9.
I created a service which reproduces the issue. The request for this service
is generated by older axis clients as follows:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ser="http://service.sample.com/">
<soapenv:Header/>
<soapenv:Body>
<getDataFromWebService xmlns="http://service.sample.com/">
<person xmlns="">
<age>1</age>
<description>?</description>
<name>1</name>
</person>
</getDataFromWebService>
</soapenv:Body>
</soapenv:Envelope>
This request works fine with CXF 2.7.5 but after upgrading to CXF 2.7.9 it gets
"Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found
starting with element 'person'. One of '{person}' is expected.".
If I remove the JAXWS handler then it works fine with CXF 2.7.9.
> Unmarshalling error is thrown with CXF 2.7.9 and later when a JAXWS handler
> is configured.
> ------------------------------------------------------------------------------------------
>
> Key: CXF-5753
> URL: https://issues.apache.org/jira/browse/CXF-5753
> Project: CXF
> Issue Type: Bug
> Components: JAXB Databinding
> Affects Versions: 2.7.9
> Environment: JDK 1.7.0_55, CXF 2.7.9
> Reporter: Edwin
> Attachments: SampleWSCxf.zip
>
>
> We have an issue with unmarshalling of existing SOAP messages after upgrading
> to CXF 2.7.9.
> I created a service which reproduces the issue. The request for this service
> is generated by older axis clients as follows:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:ser="http://service.sample.com/">
> <soapenv:Header/>
> <soapenv:Body>
> <getDataFromWebService xmlns="http://service.sample.com/">
> <person xmlns="">
> <age>1</age>
> <description>?</description>
> <name>1</name>
> </person>
> </getDataFromWebService>
> </soapenv:Body>
> </soapenv:Envelope>
> This request works fine with CXF 2.7.5 but after upgrading to CXF 2.7.9 it
> gets "Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found
> starting with element 'person'. One of '{person}' is expected.".
> If I remove the JAXWS handler then it works fine with CXF 2.7.9.
> After stepping through the code, it seems like the issue might be related to
> W3CDOMStreamReader which gets used when a JAXWS handler is configured versus
> a ValidatingStreamReader which gets created when an JAXWS handler is not
> configured.
--
This message was sent by Atlassian JIRA
(v6.2#6252)