<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions name="ElevationService" targetNamespace="http://lh.dmtispatial.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://lh.dmtispatial.com/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
    <xs:schema elementFormDefault="qualified" targetNamespace="http://lh.dmtispatial.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="GetElevation">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="lat" type="xs:double"/>
            <xs:element name="lon" type="xs:double"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetElevationResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="GetElevationResult" type="xs:double"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GetElevations">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="coords" type="tns:Coordinates"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:complexType name="Coordinates">
        <xs:sequence>
          <xs:element minOccurs="1" maxOccurs="unbounded" name="Coordinate" type="tns:Coordinate"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Coordinates"  type="tns:Coordinates"/>
      <xs:complexType name="Coordinate">
        <xs:sequence>
          <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string"/>
          <xs:element name="Lat" type="xs:double"/>
          <xs:element name="Lon" type="xs:double"/>
          <xs:element minOccurs="0" name="Elevation" type="xs:double"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element name="Coordinate"  type="tns:Coordinate"/>
      <xs:element name="GetElevationsResponse">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" name="GetElevationsResult" nillable="true" type="tns:Coordinates"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/">
      <xs:element name="anyType" nillable="true" type="xs:anyType"/>
      <xs:element name="anyURI" nillable="true" type="xs:anyURI"/>
      <xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/>
      <xs:element name="boolean" nillable="true" type="xs:boolean"/>
      <xs:element name="byte" nillable="true" type="xs:byte"/>
      <xs:element name="dateTime" nillable="true" type="xs:dateTime"/>
      <xs:element name="decimal" nillable="true" type="xs:decimal"/>
      <xs:element name="double" nillable="true" type="xs:double"/>
      <xs:element name="float" nillable="true" type="xs:float"/>
      <xs:element name="int" nillable="true" type="xs:int"/>
      <xs:element name="long" nillable="true" type="xs:long"/>
      <xs:element name="QName" nillable="true" type="xs:QName"/>
      <xs:element name="short" nillable="true" type="xs:short"/>
      <xs:element name="string" nillable="true" type="xs:string"/>
      <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/>
      <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/>
      <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/>
      <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/>
      <xs:element name="char" nillable="true" type="tns:char"/>
      <xs:simpleType name="char">
        <xs:restriction base="xs:int"/>
      </xs:simpleType>
      <xs:element name="duration" nillable="true" type="tns:duration"/>
      <xs:simpleType name="duration">
        <xs:restriction base="xs:duration">
          <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
          <xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
          <xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:element name="guid" nillable="true" type="tns:guid"/>
      <xs:simpleType name="guid">
        <xs:restriction base="xs:string">
          <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:attribute name="FactoryType" type="xs:QName"/>
      <xs:attribute name="Id" type="xs:ID"/>
      <xs:attribute name="Ref" type="xs:IDREF"/>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="IElevationService_GetElevation_InputMessage">
    <wsdl:part name="parameters" element="tns:GetElevation"/>
  </wsdl:message>
  <wsdl:message name="IElevationService_GetElevation_OutputMessage">
    <wsdl:part name="parameters" element="tns:GetElevationResponse"/>
  </wsdl:message>
  <wsdl:message name="IElevationService_GetElevations_InputMessage">
    <wsdl:part name="parameters" element="tns:GetElevations"/>
  </wsdl:message>
  <wsdl:message name="IElevationService_GetElevations_OutputMessage">
    <wsdl:part name="parameters" element="tns:GetElevationsResponse"/>
  </wsdl:message>
  <wsdl:portType name="IElevationService">
    <wsdl:operation name="GetElevation">
      <wsdl:input wsaw:Action="http://lh.dmtispatial.com/IElevationService/GetElevation" message="tns:IElevationService_GetElevation_InputMessage"/>
      <wsdl:output wsaw:Action="http://lh.dmtispatial.com/IElevationService/GetElevationResponse" message="tns:IElevationService_GetElevation_OutputMessage"/>
    </wsdl:operation>
    <wsdl:operation name="GetElevations">
      <wsdl:input wsaw:Action="http://lh.dmtispatial.com/IElevationService/GetElevations" message="tns:IElevationService_GetElevations_InputMessage"/>
      <wsdl:output wsaw:Action="http://lh.dmtispatial.com/IElevationService/GetElevationsResponse" message="tns:IElevationService_GetElevations_OutputMessage"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="soapBindingEndPoint" type="tns:IElevationService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="GetElevation">
      <soap:operation soapAction="http://lh.dmtispatial.com/IElevationService/GetElevation" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetElevations">
      <soap:operation soapAction="http://lh.dmtispatial.com/IElevationService/GetElevations" style="document"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ElevationService">
    <wsdl:port name="soapBindingEndPoint" binding="tns:soapBindingEndPoint">
      <soap:address location="https://lhelevation.dmtispatial.com/services/elevation"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>