<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:spring="http://www.springframework.org/schema/beans"
       xmlns:axis="http://www.mulesource.org/schema/mule/axis/2.2"
       xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
       xsi:schemaLocation="
               http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
               http://www.mulesource.org/schema/mule/axis/2.2 http://www.mulesource.org/schema/mule/axis/2.2/mule-axis.xsd
               http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">

    <description>
    This loan broker example is modeled on the Enterprise integration Patterns book sample.
    Here we define components and endpoints using the Axis transport.
    </description>


    <custom-transformer name="ExtractCustomer" class="org.mule.transformer.simple.GetBeanProperty">
        <spring:property name="propertyName" value="customerRequest.customer" />
    </custom-transformer>

    <custom-transformer name="SetLendersAsRecipients" class="org.mule.example.loanbroker.transformers.SetLendersAsRecipients"/>

    <vm:endpoint name="CustomerRequests" path="customer.requests" connector-ref="syncVm"/>
    <vm:endpoint name="LoanBrokerQuotes" path="loan.quotes" connector-ref="syncVm"/>
    <endpoint name="CreditAgency" address="axis:http://localhost:18080/mule/TheCreditAgencyService?method=getCreditProfile"/>
    <endpoint name="CreditAgencyIn" address="axis:http://localhost:18080/mule"/>
    <vm:endpoint name="LenderService" path="lender.service?method=setLenderList" connector-ref="syncVm"/>
    <vm:endpoint name="BankGateway" path="bank.gateway" connector-ref="syncVm"/>

    <endpoint name="Bank1" address="axis:http://localhost:10080/mule/TheBank1?method=getLoanQuote"/>
    <endpoint name="Bank1In" address="axis:http://localhost:10080/mule"/>

    <endpoint name="Bank2" address="axis:http://localhost:20080/mule/TheBank2?method=getLoanQuote"/>
    <endpoint name="Bank2In" address="axis:http://localhost:20080/mule"/>

    <endpoint name="Bank3" address="axis:http://localhost:30080/mule/TheBank3?method=getLoanQuote"/>
    <endpoint name="Bank3In" address="axis:http://localhost:30080/mule"/>

    <endpoint name="Bank4" address="axis:http://localhost:40080/mule/TheBank4?method=getLoanQuote"/>
    <endpoint name="Bank4In" address="axis:http://localhost:40080/mule"/>

    <endpoint name="Bank5" address="axis:http://localhost:50080/mule/TheBank5?method=getLoanQuote"/>
    <endpoint name="Bank5In" address="axis:http://localhost:50080/mule"/>

</mule>
