[ https://issues.apache.org/jira/browse/CXF-6764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15121985#comment-15121985 ]
Daniel Kulp edited comment on CXF-6764 at 1/28/16 6:21 PM: ----------------------------------------------------------- I'm a bit confused by the comment. There is a bug there as that SHOULD be: {code:java} if (cls == null && (!mcls.getName().contains(".internal.") && mcls.getName().contains("com.sun"))) { {code} as it should only go into there if its NOT the "internal" version. If it is the internal version, the code above this: {code} if (cls == null) { try { ClassWriter cw = helper.createClassWriter(); if (cw != null) { cls = createNamespaceWrapperInternal(helper, cw, postFix, mcls); } } catch (RuntimeException ex) { // continue } } {code} should be generating NamespaceMapper of the "internal" type. was (Author: dkulp): I'm a bit confused by the comment. There is a bug there as that SHOULD be: {code:java} if (cls == null && (!mcls.getName().contains(".internal.") || mcls.getName().contains("com.sun"))) { {code} as it should only go into there if its NOT the "internal" version. If it is the internal version, the code above this: {code} if (cls == null) { try { ClassWriter cw = helper.createClassWriter(); if (cw != null) { cls = createNamespaceWrapperInternal(helper, cw, postFix, mcls); } } catch (RuntimeException ex) { // continue } } {code} should be generating NamespaceMapper of the "internal" type. > Should add RI JAXB Namespacemapper support > ------------------------------------------ > > Key: CXF-6764 > URL: https://issues.apache.org/jira/browse/CXF-6764 > Project: CXF > Issue Type: Bug > Components: Core, JAX-RS > Affects Versions: 3.0.7, 3.1.4 > Environment: Windows > Reporter: Neal Hu > Fix For: 3.1.5, 3.0.8, 3.2.0 > > > /cxf-core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java:1097 > {code:java} > if (cls == null > && (mcls.getName().contains(".internal.") || > mcls.getName().contains("com.sun"))) { > try { > cls = > ClassLoaderUtils.loadClass("org.apache.cxf.common.jaxb.NamespaceMapper", > JAXBUtils.class); > } catch (ClassNotFoundException ex2) { > // ignore > } > } > {code} > CXF only add org.apache.cxf.common.jaxb.NamespaceMapper which extends > com.sun.xml.bind.marshaller.NamespacePrefixMapper, but the RI JAXB need a > mapper extends com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper > So when we add namespace mapper in JAXBElementProvider subclass, the RI JAXB > cann't add the namespace mapping correctly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)