wsdl2java ignores jaxb2 xjc globalBindings with namespace xjc
-------------------------------------------------------------
Key: CXF-1620
URL: https://issues.apache.org/jira/browse/CXF-1620
Project: CXF
Issue Type: Bug
Components: JAXB Databinding
Affects Versions: 2.0.6
Environment: CXF 2.0.6. Jaxb 2.0.5
Reporter: Bob Fields
JAXB databindings work fine as shown in wsdl2java bindings documentation for
customizing Date mapping. If I add the Jaxb2 specific customizations, they are
ignored in xjc. Specifically, add jxb:version="2.0"
jxb:extensionBindingPrefixes="xjc"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" in the jaxws:bindings
declaration, and use something like <xjc:serializable> <xjc:simple>
<xjc:javaType adapter=""> in the jxb:globalBindings section. There's no error
or anything, the xjc bindings are simply ignored.
One possibly related problem - if cxf-manifest.jar is in my environment
classpath, Jaxb2 xjc customizations cause the xjc ant task to fail even when I
set the classpath. I'm generating JAXB classes in a project unrelated to CXF
using Jaxb 2.0.5 xjc jar. I have to remove the manifest jar from the classpath
for xjc to work again.
We specifically need xjc:simple to avoid JAXBElement creations and to add
@XmlRootElement where it would otherwise not appear. We also want xjc:javaType
adapter="" because the jxb:javaType print/parse bindings create one Adapter
class for each binding customization (not for each customization type), which
can be several hundred in very large webservice projects.
A related improvement would be to add CXF DataTypeAdapter classes that extend
javax.xml.bind.annotation.adapters.XmlAdapter<String, Date> with a marshal and
unmarshal method, which looks like the generated AdapterX classes. I would
suggest four classes for date, time, dateTime, and integer (replacing
BigInteger with Integer).
A sample project showing JAXB customized datatype bindings for wsdl2java would
be helpful too. If I get some time next week I'll create and submit one based
on the wsdl2java samples, with a working jxb binding and an xjc binding that
should work but doesn't. Unless this issue has already been noticed and is
being worked on (I didn't see anything related in JIRA).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.