<?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://mapds.com.au/MDSServices/MDSRenderService" 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://mapds.com.au/MDSServices/MDSRenderService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://mapds.com.au/MDSServices/MDSRenderService">
      <s:element name="GetMap">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="specification" type="tns:MapSpecification" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="MapSpecification">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DataSourceName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Options" type="tns:MapOptions" />
          <s:element minOccurs="0" maxOccurs="1" name="Pushpins" type="tns:ArrayOfPushpin" />
          <s:element minOccurs="0" maxOccurs="1" name="Routes" type="tns:ArrayOfRoute" />
          <s:element minOccurs="0" maxOccurs="1" name="Regions" type="tns:ArrayOfRegion" />
          <s:element minOccurs="0" maxOccurs="1" name="Views" type="tns:ArrayOfMapView" />
          <s:element minOccurs="1" maxOccurs="1" name="ExtentLevelOption" type="tns:ExtentsToLevelOption" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MapOptions">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Format" type="tns:ImageFormat" />
          <s:element minOccurs="1" maxOccurs="1" name="ReturnType" type="tns:MapReturnType" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ImageFormat">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="MimeType" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="MapReturnType">
        <s:restriction base="s:string">
          <s:enumeration value="ReturnImage" />
          <s:enumeration value="ReturnUrl" />
          <s:enumeration value="ReturnSecureUrl" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfPushpin">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Pushpin" nillable="true" type="tns:Pushpin" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Pushpin">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="IconDataSource" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="IconName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Label" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LatLong" type="tns:LatLong" />
          <s:element minOccurs="0" maxOccurs="1" name="PinID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Pixel" type="tns:PixelCoord" />
          <s:element minOccurs="1" maxOccurs="1" name="ReturnsHotArea" type="s:boolean" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="LatLong">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Latitude" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="Longitude" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PixelCoord">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="X" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Y" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRoute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Route" nillable="true" type="tns:Route" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Route">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Specification" type="tns:RouteSpecification" />
          <s:element minOccurs="0" maxOccurs="1" name="Itinerary" type="tns:RouteItinerary" />
          <s:element minOccurs="0" maxOccurs="1" name="CalculatedRepresentation" type="tns:CalculatedRouteRepresentation" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RouteSpecification">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Segments" type="tns:ArrayOfSegmentSpecification" />
          <s:element minOccurs="0" maxOccurs="1" name="ReturnResult" type="tns:RouteReturnResult" />
          <s:element minOccurs="0" maxOccurs="1" name="DataSourceName" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfSegmentSpecification">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SegmentSpecification" nillable="true" type="tns:SegmentSpecification" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SegmentSpecification">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Options" type="tns:SegmentOptions" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SegmentOptions">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Preference" type="tns:SegmentPreference" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SegmentPreference">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="buildPreference" type="tns:SegmentBuildType" />
          <s:element minOccurs="1" maxOccurs="1" name="avoidPreference" type="tns:AvoidanceMask" />
          <s:element minOccurs="1" maxOccurs="1" name="buildDetailLevel" type="tns:networkDetail" />
          <s:element minOccurs="1" maxOccurs="1" name="outputDetail" type="tns:outputContent" />
          <s:element minOccurs="1" maxOccurs="1" name="retentionPeriod" type="tns:retentionOptions" />
          <s:element minOccurs="0" maxOccurs="1" name="retentionName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="BreakDown" type="tns:SegmentBreakDown" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="SegmentBuildType">
        <s:restriction base="s:string">
          <s:enumeration value="Quickest" />
          <s:enumeration value="Shortest" />
          <s:enumeration value="Simplest" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="AvoidanceMask">
        <s:list>
          <s:simpleType>
            <s:restriction base="s:string">
              <s:enumeration value="NoAvoid" />
              <s:enumeration value="PBSUNCLASSIFIED" />
              <s:enumeration value="Ferries" />
              <s:enumeration value="Tollways" />
              <s:enumeration value="Tunnels" />
              <s:enumeration value="UnsealedRoads" />
              <s:enumeration value="PBS1A" />
              <s:enumeration value="PBS2A" />
              <s:enumeration value="PBS3A" />
              <s:enumeration value="PBS4A" />
            </s:restriction>
          </s:simpleType>
        </s:list>
      </s:simpleType>
      <s:simpleType name="networkDetail">
        <s:restriction base="s:string">
          <s:enumeration value="mainRoads" />
          <s:enumeration value="streets" />
          <s:enumeration value="tracks" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="outputContent">
        <s:restriction base="s:string">
          <s:enumeration value="AllPermitted" />
          <s:enumeration value="DistanceTimeOnly" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="retentionOptions">
        <s:restriction base="s:string">
          <s:enumeration value="Session" />
          <s:enumeration value="Permanent" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="SegmentBreakDown">
        <s:restriction base="s:string">
          <s:enumeration value="Single" />
          <s:enumeration value="Multiple" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="RouteReturnResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="resultCode" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="resultExplanation" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="retentionTypeBuilt" type="tns:retentionOptions" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RouteItinerary">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Segments" type="tns:ArrayOfSegment" />
          <s:element minOccurs="1" maxOccurs="1" name="TripTime" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="DrivingTime" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="Distance" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="View" type="tns:MapViewRepresentations" />
          <s:element minOccurs="0" maxOccurs="1" name="Towns" type="tns:ArrayOfLocation" />
          <s:element minOccurs="0" maxOccurs="1" name="Points" type="tns:ArrayOfLatLong" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfSegment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Segment" nillable="true" type="tns:Segment" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Segment">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Directions" type="tns:ArrayOfDirection" />
          <s:element minOccurs="1" maxOccurs="1" name="TripTime" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="DrivingTime" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="Distance" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="View" type="tns:MapViewRepresentations" />
          <s:element minOccurs="0" maxOccurs="1" name="Towns" type="tns:ArrayOfLocation" />
          <s:element minOccurs="0" maxOccurs="1" name="Points" type="tns:ArrayOfLatLong" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfDirection">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Direction" nillable="true" type="tns:Direction" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Direction">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="LatLong" type="tns:LatLong" />
          <s:element minOccurs="1" maxOccurs="1" name="DirectionType" type="tns:DirectionType" />
          <s:element minOccurs="0" maxOccurs="1" name="Bearing" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Duration" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="Distance" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="Instruction" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="FormattedInstruction" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="View" type="tns:MapViewRepresentations" />
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="tns:Address" />
          <s:element minOccurs="0" maxOccurs="1" name="PBS" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="DirectionType">
        <s:restriction base="s:string">
          <s:enumeration value="Driving" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="MapViewRepresentations">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="ByHeightWidth" type="tns:ViewByHeightWidth" />
          <s:element minOccurs="0" maxOccurs="1" name="ByBoundingRectangle" type="tns:ViewByBoundingRectangle" />
          <s:element minOccurs="0" maxOccurs="1" name="ByLevelCentreSize" type="tns:ViewByLevelCentreSize" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ViewByHeightWidth">
        <s:complexContent mixed="false">
          <s:extension base="tns:MapView">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:double" />
              <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:double" />
              <s:element minOccurs="0" maxOccurs="1" name="CenterPoint" type="tns:LatLong" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="MapView" abstract="true" />
      <s:complexType name="ViewByLevelCentreSize">
        <s:complexContent mixed="false">
          <s:extension base="tns:MapView">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="centre" type="tns:LatLong" />
              <s:element minOccurs="1" maxOccurs="1" name="reqZoomLevel" type="s:int" />
              <s:element minOccurs="1" maxOccurs="1" name="pixelwidth" type="s:int" />
              <s:element minOccurs="1" maxOccurs="1" name="pixelheight" type="s:int" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="ViewByBoundingRectangle">
        <s:complexContent mixed="false">
          <s:extension base="tns:MapView">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="BoundingRectangle" type="tns:LatLongRectangle" />
            </s:sequence>
          </s:extension>
        </s:complexContent>
      </s:complexType>
      <s:complexType name="LatLongRectangle">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Southwest" type="tns:LatLong" />
          <s:element minOccurs="0" maxOccurs="1" name="Northeast" type="tns:LatLong" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Address">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="AddressLine" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PrimaryCity" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SecondaryCity" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Subdivision" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CountryRegion" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="FormattedAddress" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfLocation">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Location" nillable="true" type="tns:Location" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Location">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="LatLong" type="tns:LatLong" />
          <s:element minOccurs="0" maxOccurs="1" name="Entity" type="tns:Entity" />
          <s:element minOccurs="0" maxOccurs="1" name="Address" type="tns:Address" />
          <s:element minOccurs="0" maxOccurs="1" name="BestMapView" type="tns:MapViewRepresentations" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Entity">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DisplayName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TypeName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Properties" type="tns:ArrayOfEntityPropertyValue" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfEntityPropertyValue">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="EntityPropertyValue" nillable="true" type="tns:EntityPropertyValue" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="EntityPropertyValue">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Value" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfLatLong">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="LatLong" nillable="true" type="tns:LatLong" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CalculatedRouteRepresentation">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DrawLine" type="tns:RouteLine" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RouteLine">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="MapFileName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Opacity" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="LineStyle" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="InnerCol" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="OuterCol" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRegion">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Region" nillable="true" type="tns:Region" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Region">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Postcode" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMapView">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MapView" nillable="true" type="tns:MapView" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ExtentsToLevelOption">
        <s:restriction base="s:string">
          <s:enumeration value="UseNearestLevel" />
          <s:enumeration value="UseLevelAbove" />
          <s:enumeration value="UseLevelBelow" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="MapImage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="HotAreas" type="tns:ArrayOfHotArea" />
          <s:element minOccurs="0" maxOccurs="1" name="MimeData" type="tns:MimeData" />
          <s:element minOccurs="0" maxOccurs="1" name="View" type="tns:MapViewRepresentations" />
          <s:element minOccurs="0" maxOccurs="1" name="Url" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfHotArea">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="HotArea" nillable="true" type="tns:HotArea" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="HotArea">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="IconRectangle" type="tns:PixelRectangle" />
          <s:element minOccurs="0" maxOccurs="1" name="LabelRectangle" type="tns:PixelRectangle" />
          <s:element minOccurs="0" maxOccurs="1" name="PinID" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PixelRectangle">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Bottom" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Left" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Right" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Top" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="MimeData">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Bits" type="s:base64Binary" />
          <s:element minOccurs="0" maxOccurs="1" name="ContentID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="MimeType" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfMapImage">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="MapImage" nillable="true" type="tns:MapImage" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetMapResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetMapResult" type="tns:ArrayOfMapImage" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AuthHeader" type="tns:AuthHeader" />
      <s:complexType name="AuthHeader">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CallerID" type="s:string" />
        </s:sequence>
        <s:anyAttribute />
      </s:complexType>
      <s:element name="ConvertToLatLong">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="pixels" type="tns:ArrayOfPixelCoord" />
            <s:element minOccurs="0" maxOccurs="1" name="view" type="tns:MapView" />
            <s:element minOccurs="1" maxOccurs="1" name="width" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="height" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="dataSourceName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfPixelCoord">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PixelCoord" nillable="true" type="tns:PixelCoord" />
        </s:sequence>
      </s:complexType>
      <s:element name="ConvertToLatLongResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ConvertToLatLongResult" type="tns:ArrayOfLatLong" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ConvertToPoint">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="latLong" type="tns:ArrayOfLatLong" />
            <s:element minOccurs="0" maxOccurs="1" name="view" type="tns:MapView" />
            <s:element minOccurs="1" maxOccurs="1" name="width" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="height" type="s:int" />
            <s:element minOccurs="0" maxOccurs="1" name="dataSourceName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ConvertToPointResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="ConvertToPointResult" type="tns:ArrayOfPixelCoord" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBestMapView">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="locations" type="tns:ArrayOfLocation" />
            <s:element minOccurs="0" maxOccurs="1" name="dataSourceName" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="mapWidth" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="mapHeight" type="s:int" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBestMapViewResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBestMapViewResult" type="tns:MapViewRepresentations" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMapSimple">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="FlashSpec" type="tns:FlashMapSpecification" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="FlashMapSpecification">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="DataSourceName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ImageOptions" type="tns:ImageFormat" />
          <s:element minOccurs="0" maxOccurs="1" name="Views" type="tns:ArrayOfFlashLatLongRectangle" />
          <s:element minOccurs="0" maxOccurs="1" name="Pushpins" type="tns:ArrayOfPushpin" />
          <s:element minOccurs="0" maxOccurs="1" name="Routes" type="tns:ArrayOfFlashRoute" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfFlashLatLongRectangle">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="FlashLatLongRectangle" nillable="true" type="tns:FlashLatLongRectangle" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="FlashLatLongRectangle">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="top" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="bottom" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="left" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="right" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfFlashRoute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="FlashRoute" nillable="true" type="tns:FlashRoute" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="FlashRoute">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="MapFileName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="InnerColStr" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OpacityStr" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="WidthStr" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LineStyleStr" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="OuterColStr" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetMapSimpleResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetMapSimpleResult" type="tns:ArrayOfMapImage" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetMapSoapIn">
    <wsdl:part name="parameters" element="tns:GetMap" />
  </wsdl:message>
  <wsdl:message name="GetMapSoapOut">
    <wsdl:part name="parameters" element="tns:GetMapResponse" />
  </wsdl:message>
  <wsdl:message name="GetMapAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
  <wsdl:message name="ConvertToLatLongSoapIn">
    <wsdl:part name="parameters" element="tns:ConvertToLatLong" />
  </wsdl:message>
  <wsdl:message name="ConvertToLatLongSoapOut">
    <wsdl:part name="parameters" element="tns:ConvertToLatLongResponse" />
  </wsdl:message>
  <wsdl:message name="ConvertToLatLongAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
  <wsdl:message name="ConvertToPointSoapIn">
    <wsdl:part name="parameters" element="tns:ConvertToPoint" />
  </wsdl:message>
  <wsdl:message name="ConvertToPointSoapOut">
    <wsdl:part name="parameters" element="tns:ConvertToPointResponse" />
  </wsdl:message>
  <wsdl:message name="ConvertToPointAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
  <wsdl:message name="GetBestMapViewSoapIn">
    <wsdl:part name="parameters" element="tns:GetBestMapView" />
  </wsdl:message>
  <wsdl:message name="GetBestMapViewSoapOut">
    <wsdl:part name="parameters" element="tns:GetBestMapViewResponse" />
  </wsdl:message>
  <wsdl:message name="GetBestMapViewAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
  <wsdl:message name="GetMapSimpleSoapIn">
    <wsdl:part name="parameters" element="tns:GetMapSimple" />
  </wsdl:message>
  <wsdl:message name="GetMapSimpleSoapOut">
    <wsdl:part name="parameters" element="tns:GetMapSimpleResponse" />
  </wsdl:message>
  <wsdl:message name="GetMapSimpleAuthHeader">
    <wsdl:part name="AuthHeader" element="tns:AuthHeader" />
  </wsdl:message>
  <wsdl:portType name="MDSRenderServiceSoapSoap">
    <wsdl:operation name="GetMap">
      <wsdl:input message="tns:GetMapSoapIn" />
      <wsdl:output message="tns:GetMapSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ConvertToLatLong">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Conversion from a bitmap point to latitude, Longitude values based on the mapping datasource projection</wsdl:documentation>
      <wsdl:input message="tns:ConvertToLatLongSoapIn" />
      <wsdl:output message="tns:ConvertToLatLongSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ConvertToPoint">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Conversion to bitmap point based on mapping datasource projection</wsdl:documentation>
      <wsdl:input message="tns:ConvertToPointSoapIn" />
      <wsdl:output message="tns:ConvertToPointSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBestMapView">
      <wsdl:input message="tns:GetBestMapViewSoapIn" />
      <wsdl:output message="tns:GetBestMapViewSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetMapSimple">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Backward compatability with non abstract class mapping</wsdl:documentation>
      <wsdl:input message="tns:GetMapSimpleSoapIn" />
      <wsdl:output message="tns:GetMapSimpleSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="MDSRenderServiceSoapHttpGet" />
  <wsdl:portType name="MDSRenderServiceSoapHttpPost" />
  <wsdl:binding name="MDSRenderServiceSoapSoap" type="tns:MDSRenderServiceSoapSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetMap">
      <soap:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetMap" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetMapAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConvertToLatLong">
      <soap:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/ConvertToLatLong" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:ConvertToLatLongAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConvertToPoint">
      <soap:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/ConvertToPoint" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:ConvertToPointAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBestMapView">
      <soap:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetBestMapView" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetBestMapViewAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMapSimple">
      <soap:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetMapSimple" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:GetMapSimpleAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="MDSRenderServiceSoapSoap12" type="tns:MDSRenderServiceSoapSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetMap">
      <soap12:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetMap" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetMapAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConvertToLatLong">
      <soap12:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/ConvertToLatLong" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:ConvertToLatLongAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConvertToPoint">
      <soap12:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/ConvertToPoint" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:ConvertToPointAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBestMapView">
      <soap12:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetBestMapView" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetBestMapViewAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMapSimple">
      <soap12:operation soapAction="http://mapds.com.au/MDSServices/MDSRenderService/GetMapSimple" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
        <soap12:header message="tns:GetMapSimpleAuthHeader" part="AuthHeader" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="MDSRenderServiceSoapHttpGet" type="tns:MDSRenderServiceSoapHttpGet">
    <http:binding verb="GET" />
  </wsdl:binding>
  <wsdl:binding name="MDSRenderServiceSoapHttpPost" type="tns:MDSRenderServiceSoapHttpPost">
    <http:binding verb="POST" />
  </wsdl:binding>
  <wsdl:service name="MDSRenderServiceSoap">
    <wsdl:port name="MDSRenderServiceSoapSoap" binding="tns:MDSRenderServiceSoapSoap">
      <soap:address location="http://apps.nowwhere.com.au/mdsservicesr2/MDSRenderServiceSoap.asmx" />
    </wsdl:port>
    <wsdl:port name="MDSRenderServiceSoapSoap12" binding="tns:MDSRenderServiceSoapSoap12">
      <soap12:address location="http://apps.nowwhere.com.au/mdsservicesr2/MDSRenderServiceSoap.asmx" />
    </wsdl:port>
    <wsdl:port name="MDSRenderServiceSoapHttpGet" binding="tns:MDSRenderServiceSoapHttpGet">
      <http:address location="http://apps.nowwhere.com.au/mdsservicesr2/MDSRenderServiceSoap.asmx" />
    </wsdl:port>
    <wsdl:port name="MDSRenderServiceSoapHttpPost" binding="tns:MDSRenderServiceSoapHttpPost">
      <http:address location="http://apps.nowwhere.com.au/mdsservicesr2/MDSRenderServiceSoap.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>