<?xml version="1.0" encoding="UTF-8"?>
	<!--
		Licensed to the Apache Software Foundation (ASF) under one or more
		contributor license agreements. See the NOTICE file distributed with
		this work for additional information regarding copyright ownership.
		The ASF licenses this file to You under the Apache License, Version
		2.0 (the "License"); you may not use this file except in compliance
		with the License. You may obtain a copy of the License at
		http://www.apache.org/licenses/LICENSE-2.0 Unless required by
		applicable law or agreed to in writing, software distributed under the
		License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
		CONDITIONS OF ANY KIND, either express or implied. See the License for
		the specific language governing permissions and limitations under the
		License.
	-->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf"
	xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
    ">
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
     
	<cxf:cxfEndpoint id="routerEndpoint" address="http://localhost:${CXFTestSupport.port1}/LoggingInterceptorInMessageModeTest/router"
		serviceClass="org.apache.camel.component.cxf.HelloService">
		<cxf:properties>
			<entry key="dataFormat" value="MESSAGE"/>
		</cxf:properties>	
	</cxf:cxfEndpoint>
		
    <!-- START SNIPPET: enableLoggingOutInterceptor -->
    <bean id="loggingOutInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor">
         <!--  it really should have been user-prestream but CXF does have such phase! -->
         <constructor-arg value="target/write"/> 
    </bean>
    		
	<cxf:cxfEndpoint id="serviceEndpoint" address="http://localhost:${CXFTestSupport.port2}/LoggingInterceptorInMessageModeTest/helloworld"
		serviceClass="org.apache.camel.component.cxf.HelloService">
		<cxf:outInterceptors>
		    <ref bean="loggingOutInterceptor"/>
		</cxf:outInterceptors>
		<cxf:properties>
			<entry key="dataFormat" value="MESSAGE"/>
		</cxf:properties>
	</cxf:cxfEndpoint>
	<!-- END SNIPPET: enableLoggingOutInterceptor -->
	
	<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
		<route>
			<from uri="cxf:bean:routerEndpoint" />
			<to uri="cxf:bean:serviceEndpoint" />
		</route>
	</camelContext>
</beans>
