Team,

A while back I reported an issue where CXF 2.4.3 (JAXB 2.2.4) was unable to
transport data objects that had fields names in all caps. So for instance
something like:

    Widget {
        Foo FOO;
        Bar bar;
    }

This is easily reproducible with a CXF 2.4.3 client talking to a CXF 2.4.3
server. Two defects were filed for this:
https://issues.apache.org/jira/browse/CXF-4089
https://java.net/jira/browse/JAXB-880

At the time my analysis and the analysis of Daniel Kulp was that JAXB was
generating a bad WSDL. We all came to this analysis because the WSDL was
different from CXF 2.4.2 (JAXB 2.2.1). Now, it seems that was an incorrect
analysis.

After some tests on CXF 2.6.0 server (JAXB 2.2.6), which generates the
exact same WSDL, I noticed it works fine with a CXF 2.6.0 client, but does
not work fine with a CXF 2.4.3 client.

This leads me to believe that the WSDL generated in CXF 2.6.0 is different
but still correct, and the issue is actually on the client side when JAXB
is unmarshaling the data object from the wire. However, I tested JAXB
unmarshalling with 2.2.1 and 2.2.4 outside of CXF. So it seems to be an
interaction issue between CXF and JAXB.

Next steps:
a) Do we want to up the JAXB version in the older 2.4 and 2.5 release
trains to 2.2.6?
b) Can we add a testcase to the CXF regressions so that this kind of issue
can be caught before and does not make it to a released version of CXF?
[I would classify this as a show stopper - if CXF can't handle the case of
fields it can not be taken seriously and can not be used in production
environments]

Thanks
Rouble

Reply via email to