Namespace Prefix Management - 8.0

Talend ESB Service Developer Guide

Version
8.0
Language
English
Product
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend ESB
Talend Runtime
Content
Design and Development
Installation and Upgrade
Last publication date
2023-11-06

The JAXB reference implementation allows the application to provide an object that in turn maps namespace URI's to prefixes. You can create such an object and supply it via the marshaller properties. However, CXF provides an easier process. The namespaceMap property of the JAXBDataBinding accepts a Map<String, String>. Think of it as a map from namespace URI to namespace prefix. If you load up this map, CXF will set up the necessary marshaller property for you.

Example of Configuring a Namespace Mapping

<jaxws:server id="bookServer"
   serviceClass="org.apache.cxf.mytype.AnonymousComplexTypeImpl"
   address="http://localhost:8080/act" 
   bus="cxf">
   <jaxws:invoker>
      <bean class="org.apache.cxf.service.invoker.BeanInvoker">
         <constructor-arg>
            <bean class="org.apache.cxf.mytype.AnonymousComplexTypeImpl"/>
         </constructor-arg>
      </bean>
   </jaxws:invoker>
   <jaxws:dataBinding>
      <bean class="org.apache.cxf.jaxb.JAXBDataBinding">
         <property name="namespaceMap">
            <map>
               <entry>
                  <key>
                     <value>
                        http://cxf.apache.org/anonymous_complex_type/
                     </value>
                  </key>
                  <value>BeepBeep</value>
               </entry>
            </map>
         </property>
      </bean>
   </jaxws:dataBinding>
</jaxws:server>