I've been using CXF and Tomcat 5.5 until this point with no problem. The jax-ws endpoint in the beans.xml file included worked fine when it was within cxf-servlet.xml. Today, we decided to implement a REST service via (JAX-RS), and had to switch from using cxf-servlet.xml to beans.xml to configure our endpoints. With the switch to beans.xml and deploy in Tomcat, I get the following error in catalina.log, and I cannot find any supporting stack trace in localhost.log:
INFO: Deploying web application archive myService.war log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax). log4j:WARN Please initialize the log4j system properly. Aug 26, 2008 3:00:14 PM org.apache.catalina.core.StandardContext start *SEVERE: Error listenerStart* Aug 26, 2008 3:00:14 PM org.apache.catalina.core.StandardContext start *SEVERE: Context [/myService.war] startup failed due to previous errors* I haven't been able to find much in terms of solutions to this problem. I'm using CXF 2.1.1, which contains v. 2.0.8 of the spring jars (spring-beans, spring-context, spring-core, and spring-web). I've included my web.xml and beans.xml files. Does anyone know how to get around this issue? Thanks in advance, Bob web.xml -------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>cxf</display-name> <description>cxf</description> <!-- context-param added for REST service support --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/beans.xml</param-value> </context-param> <!-- listener added for REST service support --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>cxf</servlet-name> <display-name>cxf</display-name> <description>Apache CXF Endpoint</description> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>cxf</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <session-config> <session-timeout>60</session-timeout> </session-config> </web-app> beans.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:jaxws="http://cxf.apache.org/jaxws" 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/jaxws http://cxf.apache.org/schemas/jaxws.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-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-jaxws.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <bean id="imageProductService" class="com.test.services.ImageProductService" /> <jaxrs:server id="imageProductService" address="/"> <jaxrs:serviceBeans> <ref bean="imageProductService" /> </jaxrs:serviceBeans> </jaxrs:server> <jaxws:endpoint id="Imagery" implementor="com.test.services.ImageryServicePortImpl" wsdlLocation="WEB-INF/resource/Imagery.wsdl" address="/Imagery"> </jaxws:endpoint> </beans>
