<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" />
<bean id="soapServiceImpl" class="SoapServiceImpl"/>
<jaxws:endpoint id="soapServiceEndpoint"
implementor="#soapServiceImpl" address="/soapService">
</jaxws:endpoint>
To do this configuration in pure Java, simply annotate the web service with @Service and make a configuration file like below.
import org.apache.cxf.Bus; import org.apache.cxf.jaxws.EndpointImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; import javax.xml.ws.Endpoint; @Configuration @ImportResource({ "classpath:META-INF/cxf/cxf.xml", "classpath:META-INF/cxf/cxf-extension-soap.xml", "classpath:META-INF/cxf/cxf-servlet.xml" }) public class CXFConfig { @Bean public Endpoint soapServiceEndpoint(Bus cxfBus, SoapService soapService) { EndpointImpl endpoint = new EndpointImpl(cxfBus,
soapService
); endpoint.setAddress("/
"); endpoint.publish(); return endpoint; } }
soapService
If component scan of @Service, @Repository and @Component is not already active this can be done be adding:
<context:component-scan annotation-config="true" base-package="package.to.scan" />