<?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:jaxws="http://cxf.apache.org/jaxws"
    xmlns:test="http://cxf.apache.org/greeter_control"
    xmlns:cxf="http://camel.apache.org/schema/cxf"
    xmlns:smx="http://servicemix.apache.org/camelEndpoint/"
    xmlns:camel="http://camel.apache.org/schema/spring"
    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/schemas/jaxws.xsd
        http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
        http://servicemix.apache.org/camelEndpoint/ http://servicemix.apache.org/camelEndpoint/.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
    ">
    
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    
    <bean class="org.apache.camel.component.cxf.transport.CamelTransportFactory" lazy-init="true">
        <property name="bus" ref="cxf"/>
        <property name="camelContext" ref="camel_context"/>
        <property name="transportIds">
            <list>
              <value>http://cxf.apache.org/transports/camel</value>
            </list>
        </property>
    </bean>
        
    <camel:camelContext id="camel_context">
    </camel:camelContext>
   
    <bean id="mapAggregator" class="org.apache.cxf.ws.addressing.MAPAggregator"/>
    <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
    <bean class="org.apache.servicemix.camel.nmr.ws.addressing.MAPVerifier" id="mapVerifier"/>
    <bean class="org.apache.servicemix.camel.nmr.ws.addressing.HeaderVerifier" id="headVerifier"/>
    <cxf:cxfEndpoint id="routerEndpoint" name="test:GreeterPort" address="camel://jetty:http://localhost:9008/SoapContext/SoapPort"  bus="cxf" serviceClass="org.apache.hello_world_soap_http.Greeter">
        <cxf:properties>
            <entry key="dataFormat" value="POJO"/>
        </cxf:properties>
        <cxf:features>
            <bean class="org.apache.cxf.feature.LoggingFeature"/>
        </cxf:features>
        <cxf:outInterceptors>
            <ref bean="mapVerifier"/>
            <ref bean="headVerifier"/>
        </cxf:outInterceptors>
        <cxf:inInterceptors>
            <ref bean="mapVerifier"/>
            <ref bean="headVerifier"/>
        </cxf:inInterceptors>
        
        <cxf:outFaultInterceptors>
            <ref bean="mapVerifier"/>
            <ref bean="headVerifier"/>
        </cxf:outFaultInterceptors>
        <cxf:inFaultInterceptors>
            <ref bean="mapVerifier"/>
            <ref bean="headVerifier"/>
        </cxf:inFaultInterceptors>

    </cxf:cxfEndpoint>


    <cxf:cxfEndpoint id="serviceEndpoint" address="local://smx/hello_world"
      serviceClass="org.apache.hello_world_soap_http.Greeter">
        <cxf:properties>
            <entry key="dataFormat" value="POJO"/>
        </cxf:properties>
    </cxf:cxfEndpoint>

</beans>
