<?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:camel="http://camel.apache.org/schema/spring"
    xmlns:http="http://cxf.apache.org/transports/http/configuration"
    xsi:schemaLocation="
        http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd
        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://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>
    <http:conduit name="{http://cxf.apache.org/greeter_control}GreeterPort.http-conduit">
      <http:client AllowChunking="false" DecoupledEndpoint="http://localhost:9995/decoupled_endpoint"/>
    </http:conduit>    
    <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"/>
    <cxf:cxfEndpoint id="routerEndpoint" name="test:GreeterPort" address="camel://jetty:http://localhost:9020/SoapContext/GreeterPort"  serviceClass="org.apache.cxf.greeter_control.Greeter">
        <cxf:properties>
            <entry key="dataFormat" value="POJO"/>
            <entry key="setDefaultBus" value="true"/>
        </cxf:properties>
        <cxf:features>
            <bean class="org.apache.cxf.feature.LoggingFeature"/>
        </cxf:features>
        <cxf:inInterceptors>
                <ref bean="mapAggregator"/>
                <ref bean="mapCodec"/>
        </cxf:inInterceptors>
        <cxf:inFaultInterceptors>
                <ref bean="mapAggregator"/>
                <ref bean="mapCodec"/>
        </cxf:inFaultInterceptors>
        <cxf:outInterceptors>
                <ref bean="mapAggregator"/>
                <ref bean="mapCodec"/>
        </cxf:outInterceptors>
        <cxf:outFaultInterceptors>
                <ref bean="mapAggregator"/>
                <ref bean="mapCodec"/>
        </cxf:outFaultInterceptors>
    </cxf:cxfEndpoint>


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

</beans>
