<?xml version="1.0"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

    <endpoint xmlns="http://www.sun.com/ns/jbi/component/soap/deploy"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.sun.com/ns/jbi/component/soap/deploy ./endpoints.xsd">
<service-name>
        <namespace-uri>http://hello.org/wsdl</namespace-uri>
        <local-part>FindInterest</local-part>
    </service-name>
    <endpoint-name>InterestIFPort</endpoint-name>
    <endpoint-role>provider</endpoint-role>
    <address-location>http://localhost:8080/findintr/FindInterest</address-location>
    <style>http://www.w3.org/2004/08/wsdl/style/rpc</style>
    <operation>
        <name>calculateInterest</name>
        <mep>http://www.w3.org/2004/08/wsdl/in-out</mep>
        <soapaction>""</soapaction>
        <input>
          <namespace-uri>http://hello.org/wsdl</namespace-uri>
        </input>
        <output>
          <namespace-uri>http://hello.org/wsdl</namespace-uri>
        </output>
    </operation>
</endpoint>
