Skip to main content Skip to complementary content

Configuring Deployment Descriptors

Different configuration files are used depending on whether you're deploying to Tomcat or Talend ESB. Servlet container deployment requires a standard web.xml file as well as Spring configuration file to configure the endpoint, while Talend ESB just needs an OSGi Blueprint configuration file.

Configuring Deployment Descriptors for Talend ESB (OSGi)

OSGi configuration of the web service provider can be done using the OSGi Blueprint Specification by placing this service.xml file in src/main/resources/OSGI-INF/blueprint of the service submodule. This file is ignored in the case of Tomcat deployment.

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
            xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" 
            xmlns:cxf="http://cxf.apache.org/blueprint/core"
            xsi:schemaLocation="
            http://www.osgi.org/xmlns/blueprint/v1.0.0 
            http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
            http://cxf.apache.org/blueprint/jaxws 
            http://cxf.apache.org/schemas/blueprint/jaxws.xsd
            http://cxf.apache.org/blueprint/core 
            http://cxf.apache.org/schemas/blueprint/core.xsd
            ">
            
            <jaxws:endpoint id="doubleit" implementor="service.DoubleItPortTypeImpl"
            wsdlLocation="DoubleIt.wsdl" address="/doubleit">
            </jaxws:endpoint>
            
            </blueprint>

Configuring Deployment Descriptors for Tomcat (WAR archive)

Since the cxf-servlet.xml Spring configuration file below is used just for WAR deployment, the project has this file stored in the WAR submodule's war/src/main/webapp/WEB-INF folder instead of within the servlet submodule.

<?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"
            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">
            
            <jaxws:endpoint 
            id="doubleit"
            implementor="service.DoubleItPortTypeImpl"
            wsdlLocation="WEB-INF/wsdl/DoubleIt.wsdl"
            address="/doubleit">
            </jaxws:endpoint>
            </beans>

In the same folder, we store the web.xml file shown below for the WAR archive.

<?xml version="1.0" encoding="UTF-8"?>
            <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
            http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
            <display-name>Sample web service provider</display-name>
            <listener>
            <listener-class>
            org.springframework.web.context.ContextLoaderListener
            </listener-class>
            </listener>
            <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
            classpath:META-INF/cxf/cxf.xml
            </param-value>
            </context-param>
            <servlet>
            <servlet-name>WebServicePort</servlet-name>
            <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
            <servlet-name>WebServicePort</servlet-name>
            <url-pattern>/services/*</url-pattern>
            </servlet-mapping>
            <session-config>
            <session-timeout>60</session-timeout>
            </session-config>
            </web-app>

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!