You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bob Fields (JIRA)" <ji...@apache.org> on 2008/08/14 22:23:44 UTC

[jira] Commented: (CXF-1620) wsdl2java ignores jaxb2 xjc globalBindings with namespace xjc

    [ https://issues.apache.org/jira/browse/CXF-1620?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622672#action_12622672 ] 

Bob Fields commented on CXF-1620:
---------------------------------

Still not fixed. The parseMethod/printMethod attributes work, but the adapter="" annotation does not. Tested with CXF 2.1.1. Strangely enough, I can get it working if I use just the jxb:bindings namespace but not with the jaxws:bindings namespace (which works with the jxb:javaType as long as I select an XPATH node). I'll file another JIRA with some working and non-working examples. The parse/printMethod customization is not adequate.

> 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
>            Assignee: Daniel Kulp
>             Fix For: 2.0.8, 2.1.2
>
>
> 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.