Talend's JAXRS-Intro and JAXRS-Advanced options offer a Tomcat
deployment option (see the "war" submodule under both):
https://github.com/Talend/tesb-rt-se/tree/master/examples/cxf. Hopefully
you're using Maven for your projects; don't forget to add the Spring
config libraries to the WAR:
https://github.com/Talend/tesb-rt-se/blob/master/examples/cxf/jaxrs-intro/war/pom.xml
.
HTH,
Glen
On 12/04/2012 03:43 AM, Eric Chow wrote:
Hello,
I am going to testing Jax-RS with ApacheCXF-2.7.0 under Tomcat 6.0.x +
Spring.
The Jax-WS works fine but the configuration of Jax-RS seems not working.
I am not sure if I missed something in the configurations. Please help if I
missed something.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="
http://java.sun.com/xml/ns/javaee" xmlns:web="
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"
version="2.5">
<display-name>TestCXF</display-name>
<display-name>CXF</display-name>
<description>CXF Application</description>
<servlet>
<servlet-name>CXFServlet-JaxRS</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<init-param>
<param-name>config-location</param-name>
<param-value>/WEB-INF/resources.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet-JaxRS</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
</web-app>
resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxrs:server id="userService" address="/userService">
<jaxrs:serviceBeans>
<ref bean="customerBean" />
</jaxrs:serviceBeans>
</jaxrs:server>
<bean id="customerBean" class="test.service.UserService" />
</beans>
package test.service;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
@Path("/user")
public class UserService {
@GET
@Path("/echo/{msg}")
public String echo(@PathParam("msg") String msg) {
System.out.println("Echo: " + msg);
return "Server: " + msg;
}
}
--
Glen Mazza
Talend Community Coders - coders.talend.com
blog: www.jroller.com/gmazza