You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Sovattha SOK <so...@gmail.com> on 2009/02/26 14:23:45 UTC

Namespace prefixing with CXF + JAXB

Hi,
I'm trying to parse an XML file and turn it into Javabeans with JAXB.
My XML file has namespace prefixes such as:

<?xml version="1.0" encoding="iso-8859-1"?>
<m:mutation xmlns:m="http://namespace1" xmlns:d="http://namespace2">
 <m:event>
  <m:code>123</m:code>
  <d:person>
    <d:id>456</d:id>
  </d:person>
  </m:event>
</m:mutation>

But I do not find how to configure JAXB in my cxf.xml file to support my
namespaces.

    <jaxws:endpoint id="myService"
            implementor="ch.MyServiceImpl"
            address="/ch"
            bindingUri="http://apache.org/cxf/binding/http">
        <jaxws:serviceFactory>
            <bean
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                <property name="wrapped" value="false" />
            </bean>
        </jaxws:serviceFactory>
     <jaxws:dataBinding>
      <bean class="org.apache.cxf.jaxb.JAXBDataBinding">
        <property name="namespaceMap">
            <map>
                <entry key="http://namespace1" value="m" />
            </map>
        </property>
      </bean>
      </jaxws:dataBinding>
    </jaxws:endpoint>

Important, note that the same XML file without namespaces:

<?xml version="1.0" encoding="iso-8859-1"?>

<mutation>
 <event>
  <code>123</code>
  <person>
    <id>456</id>
  </person>
  </event>
</mutation>

gets parsed without any problem.

Re: Namespace prefixing with CXF + JAXB

Posted by cowa <so...@gmail.com>.
Hi,

I found a solution: generating my Javabeans with a plugin:
"maven-jaxb2-plugin".
It generated my beans and many classes (package-info.java,
ObjectFactory.java) to make my project work even with namespace prefixes.

The problem did not came from the configuration files below.
Best regards,
Sovattha


cowa wrote:
> 
> Hi,
> I'm trying to parse an XML file and turn it into Javabeans with JAXB.
> My XML file has namespace prefixes such as:
> 
> <?xml version="1.0" encoding="iso-8859-1"?>
> <m:mutation xmlns:m="http://namespace1" xmlns:d="http://namespace2">
>  <m:event>
>   <m:code>123</m:code>
>   <d:person>
>     <d:id>456</d:id>
>   </d:person>
>   </m:event>
> </m:mutation>
> 
> But I do not find how to configure JAXB in my cxf.xml file to support my
> namespaces.
> 
>     <jaxws:endpoint id="myService"
>             implementor="ch.MyServiceImpl"
>             address="/ch"
>             bindingUri="http://apache.org/cxf/binding/http">
>         <jaxws:serviceFactory>
>             <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
>                 <property name="wrapped" value="false" />
>             </bean>
>         </jaxws:serviceFactory>
>      <jaxws:dataBinding>
>       <bean class="org.apache.cxf.jaxb.JAXBDataBinding">
>         <property name="namespaceMap">
>             <map>
>                 <entry key="http://namespace1" value="m" />
>             </map>
>         </property>
>       </bean>
>       </jaxws:dataBinding>
>     </jaxws:endpoint>
> 
> Important, note that the same XML file without namespaces:
> 
> <?xml version="1.0" encoding="iso-8859-1"?>
> 
> <mutation>
>  <event>
>   <code>123</code>
>   <person>
>     <id>456</id>
>   </person>
>   </event>
> </mutation>
> 
> gets parsed without any problem.
> 
> 

-- 
View this message in context: http://www.nabble.com/Namespace-prefixing-with-CXF-%2B-JAXB-tp22223945p22243107.html
Sent from the cxf-user mailing list archive at Nabble.com.