Apache CXF y REST (Configuración)
Apache CXF y REST (Configuración)
En este post vamos a configurar Apache CXF para que sea capaz de publicar un servicio
web REST . Para ello necesitaremos realizar varias operaciones . En primer lugar modificar
el fichero web.xml para añadir el servlet de Apache CXF y los listener de Spring .Ya que
recordemos Apache CXF se apoya de manera fuerte en este framework.
<servlet>
www.arquitecturajava.com
Apache CXF y REST (Configuración)
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-
class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Una vez tenemos configurado el fichero web.xml necesitaremos configurar también las
dependencias en este caso nos apoyaremos en Maven y en un fichero pom.xml.
<dependencies>
www.arquitecturajava.com
Apache CXF y REST (Configuración)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
www.arquitecturajava.com
Apache CXF y REST (Configuración)
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
www.arquitecturajava.com
Apache CXF y REST (Configuración)
<artifactId>cxf-rt-rs-extension-providers</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.2.9</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
Realizadas estas operaciones nos queda configurar el fichero de Spring para que pueda
funcionar con servicios REST sin problemas
www.arquitecturajava.com
Apache CXF y REST (Configuración)
www.arquitecturajava.com
Apache CXF y REST (Configuración)
<ref bean="jsonProvider"/>
</jaxrs:providers>
<jaxrs:features>
</jaxrs:features>
</jaxrs:server>
<bean id="jsonProvider"
class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
</beans>
Como podemos ver en un primer lugar aparecen las etiquetas <import> que se encargan de
dar de alta los ficheros de configuración de Apache CXF.
Una vez tenemos esto dado de alta añadimos un servidor de JAXRS y el bean que deseamos
gestionar a traves de él.
www.arquitecturajava.com
Apache CXF y REST (Configuración)
Por último añadimos un proveedor de JSON para que sea capaz de transformar una lista de
personas a una estructura JSON sin problemas
<bean id="jsonProvider"
class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
</beans>
Realizados estos cambios tenemos Apache CXF configurado y podremos realizar las
invocaciones REST necesarias.
www.arquitecturajava.com
Apache CXF y REST (Configuración)
www.arquitecturajava.com
Apache CXF y REST (Configuración)
www.arquitecturajava.com