Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Embedding CXF inside Spring

You can also embed CXF within an existing Spring application. Since all XML configuration files are Spring xml files, the two approaches should be equivalent.

CXF includes Spring configuration files which configure the various CXF modules. You will want to import these into your application. Here is an example that imports the core CXF components, the SOAP binding, and the servlet transport:

...


<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-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.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-servlet.xml" />
  ...
</beans>

To include all the CXF modules you can use a wildcard expression:

...


<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-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schema/jaxws.xsd">

	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath*:META-INF/cxf/cxf-extension-*.xml" />
  ...
</beans>

The only module this won't include is the servlet transport. If you want to include the servlet transport you must specify it specifically. This is because it will tell CXF to no longer use the standalone HTTP transport, and you may not always want to do this.

Advanced Configuration

If you are writing your own component for CXF, please see Configuration for Developers page.