<?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.
-->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" 
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
             xmlns:tns="http://cxf.apache.org/schemas/cxf/idl/Bank" 
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:corbatm="http://cxf.apache.org/schemas/cxf/idl/Bank/corba/typemap"
             xmlns:wsa="http://www.w3.org/2005/08/addressing" 
             targetNamespace="http://cxf.apache.org/schemas/cxf/idl/Bank"> 
  <types>
    <schema attributeFormDefault="unqualified" 
            elementFormDefault="unqualified"
            targetNamespace="http://cxf.apache.org/schemas/cxf/idl/Bank"
            xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd"/>
      <element name="AccountRef" type="wsa:EndpointReferenceType">
        <annotation>
          <appinfo>corba:binding=AccountCORBABinding</appinfo>
        </annotation>
      </element>
    </schema>
  </types>
  <message name="get_account">
    <part name="account_name" type="xsd:string"/>
  </message>
  <message name="get_accountResponse">
    <part name="return" element="tns:AccountRef"/>
  </message>
  <message name="get_epr_accountResponse">
    <part name="return" type="wsa:EndpointReferenceType"/>
  </message>
  <message name="find_account">
    <part name="account_details" type="xsd:anyType"/>
  </message>
  <message name="find_accountResponse">
    <part name="account_details" type="xsd:anyType"/>
  </message>
  <message name="create_account">
    <part name="account_name" type="xsd:string"/>
  </message>
    <message name="create_accountResponse">
  <part name="return" element="tns:AccountRef"/>
  </message>	
  <message name="create_epr_accountResponse">
    <part name="return" type="wsa:EndpointReferenceType"/>
  </message>	
  <message name="get_balance"/>
  <message name="get_balanceResponse">
    <part name="balance" type="xsd:float"/>
  </message>
  <message name="deposit">
    <part name="addition" type="xsd:float"/>
  </message>
  <message name="depositResponse"/>
  <portType name="Bank">
    <operation name="create_account">
      <input name="create_account" message="tns:create_account"/>
      <output name="create_accountResponse" message="tns:create_accountResponse"/>
    </operation>	
    <operation name="create_epr_account">
      <input name="create_epr_account" message="tns:create_account"/>
      <output name="create_epr_accountResponse" message="tns:create_epr_accountResponse"/>
    </operation>	
    <operation name="get_account">
      <input name="get_account" message="tns:get_account"/>
      <output name="get_accountResponse" message="tns:get_accountResponse"/>
    </operation>
    <operation name="get_epr_account">
      <input name="get_epr_account" message="tns:get_account"/>
      <output name="get_epr_accountResponse" message="tns:get_epr_accountResponse"/>
    </operation>
    <operation name="get_account_epr_with_no_use_attribute">
      <input name="get_epr_account" message="tns:get_account"/>
      <output name="get_epr_accountResponse" message="tns:get_epr_accountResponse"/>
    </operation>
    <operation name="find_account">
      <input name="find_account" message="tns:find_account"/>
      <output name="find_accountResponse" message="tns:find_accountResponse"/>
    </operation>
  </portType>
  <portType name="Account">
    <operation name="get_balance">
      <input name="get_balance" message="tns:get_balance"/>
      <output name="get_balanceResponse" message="tns:get_balanceResponse"/>
    </operation>
    <operation name="deposit">
      <input name="deposit" message="tns:deposit"/>
      <output name="depositResponse" message="tns:depositResponse"/>
    </operation>
  </portType>
</definitions>

