...
Here, simply define a bus element in your Spring configuration file, and add child elements as required, for example:
Code Block | ||||
---|---|---|---|---|
| ||||
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="logOutbound" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
<cxf:bus>
<cxf:outInterceptors>
<ref bean="logOutbound"/>
</cxf:outInterceptors>
</cxf:bus>
</beans>
|
The configurable properties of the bus are defined in the bus configuration schema http://cxf.apache.org/schemas/core.xsd. Be sure to include the namespace - URI pair for this schema in the schemaLocation attribute of the <beans> element.
...
Name | Value |
---|---|
inInterceptors | The interceptors contributed to inbound message interceptor chains. A list of <bean>s or <ref>s. |
inFaultInterceptors | The interceptors contributed to inbound fault interceptor chains. A list of <bean>s or <ref>s. |
outInterceptors | The interceptors contributed to outbound message interceptor chains. A list of <bean>s or <ref>s. |
outFaultInterceptors | The interceptors contributed to outbound fault interceptor chains. A list of <bean>s or <ref>s. |
properties | Contextual properties which will be applied to all endpoints and clients using this bus |
features | The features applied to the bus. A list of <bean>s or <ref>s. See here for a list of available features. |
...
Although usually less convenient, interceptors can be added to the bus using Java code. Given an EndpointImpl object, the bus can be accessed (and interceptors added) as follows:
Code Block |
---|
import javax.xml.ws.Endpoint; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.EndpointImpl; Object implementor = new GreeterImpl(); EndpointImpl ep = (EndpointImpl) Endpoint.publish("http://localhost/service", implementor); ep.getServiceFactory().getBus().getInInterceptors().add(new LoggingInInterceptor()); ep.getServiceFactory().getBus().getOutInterceptors().add(new LoggingOutInterceptor()); |
...