[
https://issues.apache.org/jira/browse/CXF-6764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp updated CXF-6764:
-----------------------------
Description:
/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.
was:
/cxf-core/src/main/java/org/apache/cxf/common/jaxb/JAXBUtils.java:1097
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
}
}
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.
> 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)