<?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:http-conf="http://cxf.apache.org/transports/http/configuration"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:cxf="http://cxf.apache.org/core"
       xsi:schemaLocation="
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  
    <bean id="mapAggregator" class="org.apache.cxf.ws.addressing.MAPAggregator"/>
    <bean id="mapCodec" class="org.apache.cxf.ws.addressing.soap.MAPCodec"/>
    <bean id="loggingIn" class="org.apache.cxf.interceptor.LoggingInInterceptor"/>

    <!-- We are adding the interceptors to the bus as we will have only one endpoint/service/bus. -->

    <cxf:bus>
        <cxf:inInterceptors>
                <ref bean="mapAggregator"/>
                <ref bean="mapCodec"/>
                <ref bean="loggingIn"/>
        </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:bus>

    <jaxws:client name="{http://apache.org/hello_world_soap_http}SoapPort" 
                  createdFromAPI="true">
        <jaxws:conduitSelector>
            <bean class="org.apache.cxf.endpoint.DeferredConduitSelector"/>
        </jaxws:conduitSelector>
    </jaxws:client>
    
</beans>
