<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://SpringCalculator/WebServices" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://SpringCalculator/WebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Spring Calculator Web Services</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://SpringCalculator/WebServices">
      <s:element name="Add">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="n1" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="n2" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AddResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Substract">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="n1" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="n2" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SubstractResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="SubstractResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Divide">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="n1" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="n2" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DivideResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="DivideResult" type="tns:DivisionResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="DivisionResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Quotient" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Rest" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:element name="Multiply">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="n1" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="n2" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="MultiplyResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="MultiplyResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMemory">
        <s:complexType />
      </s:element>
      <s:element name="GetMemoryResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="GetMemoryResult" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetMemory">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="memoryValue" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetMemoryResponse">
        <s:complexType />
      </s:element>
      <s:element name="MemoryClear">
        <s:complexType />
      </s:element>
      <s:element name="MemoryClearResponse">
        <s:complexType />
      </s:element>
      <s:element name="MemoryAdd">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="num" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="MemoryAddResponse">
        <s:complexType />
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="AddSoapIn">
    <wsdl:part name="parameters" element="tns:Add" />
  </wsdl:message>
  <wsdl:message name="AddSoapOut">
    <wsdl:part name="parameters" element="tns:AddResponse" />
  </wsdl:message>
  <wsdl:message name="SubstractSoapIn">
    <wsdl:part name="parameters" element="tns:Substract" />
  </wsdl:message>
  <wsdl:message name="SubstractSoapOut">
    <wsdl:part name="parameters" element="tns:SubstractResponse" />
  </wsdl:message>
  <wsdl:message name="DivideSoapIn">
    <wsdl:part name="parameters" element="tns:Divide" />
  </wsdl:message>
  <wsdl:message name="DivideSoapOut">
    <wsdl:part name="parameters" element="tns:DivideResponse" />
  </wsdl:message>
  <wsdl:message name="MultiplySoapIn">
    <wsdl:part name="parameters" element="tns:Multiply" />
  </wsdl:message>
  <wsdl:message name="MultiplySoapOut">
    <wsdl:part name="parameters" element="tns:MultiplyResponse" />
  </wsdl:message>
  <wsdl:message name="GetMemorySoapIn">
    <wsdl:part name="parameters" element="tns:GetMemory" />
  </wsdl:message>
  <wsdl:message name="GetMemorySoapOut">
    <wsdl:part name="parameters" element="tns:GetMemoryResponse" />
  </wsdl:message>
  <wsdl:message name="SetMemorySoapIn">
    <wsdl:part name="parameters" element="tns:SetMemory" />
  </wsdl:message>
  <wsdl:message name="SetMemorySoapOut">
    <wsdl:part name="parameters" element="tns:SetMemoryResponse" />
  </wsdl:message>
  <wsdl:message name="MemoryClearSoapIn">
    <wsdl:part name="parameters" element="tns:MemoryClear" />
  </wsdl:message>
  <wsdl:message name="MemoryClearSoapOut">
    <wsdl:part name="parameters" element="tns:MemoryClearResponse" />
  </wsdl:message>
  <wsdl:message name="MemoryAddSoapIn">
    <wsdl:part name="parameters" element="tns:MemoryAdd" />
  </wsdl:message>
  <wsdl:message name="MemoryAddSoapOut">
    <wsdl:part name="parameters" element="tns:MemoryAddResponse" />
  </wsdl:message>
  <wsdl:portType name="calculatorServiceSoap">
    <wsdl:operation name="Add">
      <wsdl:input message="tns:AddSoapIn" />
      <wsdl:output message="tns:AddSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Substract">
      <wsdl:input message="tns:SubstractSoapIn" />
      <wsdl:output message="tns:SubstractSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Divide">
      <wsdl:input message="tns:DivideSoapIn" />
      <wsdl:output message="tns:DivideSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Multiply">
      <wsdl:input message="tns:MultiplySoapIn" />
      <wsdl:output message="tns:MultiplySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetMemory">
      <wsdl:input message="tns:GetMemorySoapIn" />
      <wsdl:output message="tns:GetMemorySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SetMemory">
      <wsdl:input message="tns:SetMemorySoapIn" />
      <wsdl:output message="tns:SetMemorySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="MemoryClear">
      <wsdl:input message="tns:MemoryClearSoapIn" />
      <wsdl:output message="tns:MemoryClearSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="MemoryAdd">
      <wsdl:input message="tns:MemoryAddSoapIn" />
      <wsdl:output message="tns:MemoryAddSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="calculatorServiceSoap" type="tns:calculatorServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Add">
      <soap:operation soapAction="http://SpringCalculator/WebServices/Add" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Substract">
      <soap:operation soapAction="http://SpringCalculator/WebServices/Substract" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Divide">
      <soap:operation soapAction="http://SpringCalculator/WebServices/Divide" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Multiply">
      <soap:operation soapAction="http://SpringCalculator/WebServices/Multiply" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMemory">
      <soap:operation soapAction="http://SpringCalculator/WebServices/GetMemory" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetMemory">
      <soap:operation soapAction="http://SpringCalculator/WebServices/SetMemory" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MemoryClear">
      <soap:operation soapAction="http://SpringCalculator/WebServices/MemoryClear" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MemoryAdd">
      <soap:operation soapAction="http://SpringCalculator/WebServices/MemoryAdd" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="calculatorServiceSoap12" type="tns:calculatorServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Add">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/Add" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Substract">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/Substract" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Divide">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/Divide" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Multiply">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/Multiply" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMemory">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/GetMemory" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetMemory">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/SetMemory" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MemoryClear">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/MemoryClear" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MemoryAdd">
      <soap12:operation soapAction="http://SpringCalculator/WebServices/MemoryAdd" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="calculatorService">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Spring Calculator Web Services</wsdl:documentation>
    <wsdl:port name="calculatorServiceSoap" binding="tns:calculatorServiceSoap">
      <soap:address location="http://localhost:1643/Spring.Calculator.Web.2005/calculatorService.asmx" />
    </wsdl:port>
    <wsdl:port name="calculatorServiceSoap12" binding="tns:calculatorServiceSoap12">
      <soap12:address location="http://localhost:1643/Spring.Calculator.Web.2005/calculatorService.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>