For the records:
http://www.java.net/forum/topic/glassfish/metro-and-jaxb/yet-another-jaxb-compatability-issue

On 06/28/2012 05:23 PM, Stevo Slavić wrote:
> Hello Apache CXF community,
> 
> I'm running into what seems as some compatibility issues while migrating a
> legacy application to a new platform - Java SE 7, Java EE 6, JBoss AS 7.1.1.
> JBoss AS 7.1.1 provides CXF 2.4.6. Using Maven and cxf-codegen-plugin:2.4.6
> code gets generated from wsdl file.
> 
> wsdl2java was first failing with:
> 
> org.apache.xml.dtm.ref.DTMManagerDefault cannot be cast to
> org.apache.xml.dtm.DTMManager
> 
> After configuring cxf-codegen-plugin:2.4.6 dependencies to include/override
>                         <dependency>
>                             <groupId>xalan</groupId>
>                             <artifactId>xalan</artifactId>
>                             <version>2.7.1.jbossorg-2</version>
>                         </dependency>
> 
> wsdl2java would generate code without exceptions.
> 
> Unfortunately now tests which reference generated code fail with:
> 
> foo.Bar$JaxbAccessorF_aField cannot be cast to
> com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
> 
> Does anyone know what could be the problem here and how to fix it?
> 
> Please correct me if wrong, but it seems to me this is caused by some
> compatibility issue, more specifically JAXB versions, one version used to
> generate code and other at (test) runtime.
> I'm using Java SE 7 to run tests (and maven 3.0.4). If I'm not mistaken,
> Java SE 7 embeds JAXB 2.2, and JAXB 2.2 is part of Java EE 6 provided APIs
> and JBoss 7.1.1 provides appropriate implementation.
> 
> I guess internal part in
> com.sun.xml.internal.bind.v2.runtime.reflect.Accessor suggests that
> something is using Java SE internal/embedded JAXB, while something else is
> using non-internal variant or different incompatible version.
> Not sure who is using what but I assume cxf-codegen-plugin:2.4.6 is using
> non-internal JAXB 2.2.
> I've tried to configure endorsing jaxb-impl, jaxb-api and jaxb-xjc in both
> maven-compiler-plugin, and maven-surefire-plugin (use
> maven-dependency-plugin to copy these libs in target/endorsed, and then in
> compiler and tests configure this as endorsed directory) but I'm still
> getting same error.
> 
> Any constructive ideas are welcome. Thanks in advance!
> 
> Kind regards,
> Stevo Slavić.
> 


-- 
Alessio Soldano
Web Service Lead, JBoss

Reply via email to