Hi,

I'm building a JAX-RS service with CXF 2.4.2 and JAXB for the bindings (Java 1.6.0_26).

My response contains elements from two namespaces and it is correctly rendered. The second namespace gets automatically the prefix "ns2" which I have to change to something more "meaningful" for a third-party component.

I found http://cxf.apache.org/docs/jaxb.html that mentioned something like this for JAX-WS:

<util:map id="namespace2Prefix" map-class="java.util.HashMap">
    <entry key="myPrimaryNameSpace" value=""/>
    <entry key="mySecondaryNamespace" value="ip"/>
</util:map>

<jaxws:server....>
    <jaxws:dataBinding>
        <bean class="org.apache.cxf.jaxb.JAXBDataBinding">
            <property name="namespaceMap" ref="namespace2Prefix" />
        </bean>
    </jaxws:dataBinding>
</jaxws:server>

I tried the same for JAXRS but it does not seems to work:

<jaxrs:server...>
    <jaxrs:dataBinding>
        <bean class="org.apache.cxf.jaxb.JAXBDataBinding">
             <property name="namespaceMap" ref="namespace2Prefix" />
        </bean>
    </jaxrs:dataBinding>
</jaxrs:server>

I also tried this:

<bean id="xmlDataBinding" class="org.apache.cxf.jaxb.JAXBDataBinding">
    <property name="namespaceMap" ref="namespace2Prefix" />
</bean>

<bean id="xmlDataBindingProvider" class="org.apache.cxf.jaxrs.provider.DataBindingProvider">
    <property name="dataBinding" ref="xmlDataBinding" />
</bean>


But it does not work either and I don't find anything useful in the logs. Do I miss something?

Thanks,
Raphael




Reply via email to