<?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://apps.hha.co.uk/mis" 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://apps.hha.co.uk/mis" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://apps.hha.co.uk/mis">
      <s:element name="IsTrafficOld">
        <s:complexType />
      </s:element>
      <s:element name="IsTrafficOldResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="IsTrafficOldResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsLiveSensorOld">
        <s:complexType />
      </s:element>
      <s:element name="IsLiveSensorOldResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="IsLiveSensorOldResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsPredictedSensorOld">
        <s:complexType />
      </s:element>
      <s:element name="IsPredictedSensorOldResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="IsPredictedSensorOldResult" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAnchored">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAnchoredResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAnchoredResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Visits">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Visit" nillable="true" type="tns:Visit" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Visit">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ExternalReference" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="RunningAction" type="tns:ActionType" />
          <s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:StateType" />
          <s:element minOccurs="0" maxOccurs="1" name="VesselName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="VesselLloydsNumber" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="VesselGrossTonnage" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="VesselLength" type="s:double" />
          <s:element minOccurs="0" maxOccurs="1" name="VesselCallSign" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="VesselNote" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="FromPort" type="tns:AreaLine" />
          <s:element minOccurs="0" maxOccurs="1" name="ToPort" type="tns:AreaLine" />
          <s:element minOccurs="1" maxOccurs="1" name="DraughtCurrent" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="ChangedOn" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Note" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Actions" type="tns:ArrayOfAction" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ActionType">
        <s:restriction base="s:string">
          <s:enumeration value="Unknown" />
          <s:enumeration value="Forecast" />
          <s:enumeration value="Arrival" />
          <s:enumeration value="Shift" />
          <s:enumeration value="Berth" />
          <s:enumeration value="Anchorage" />
          <s:enumeration value="Departure" />
          <s:enumeration value="Transit" />
          <s:enumeration value="Binned" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="StateType">
        <s:restriction base="s:string">
          <s:enumeration value="Unknown" />
          <s:enumeration value="Scheduled" />
          <s:enumeration value="Cancelled" />
          <s:enumeration value="Running" />
          <s:enumeration value="Closed" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="AreaLine">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="ParentID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Abbreviation" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Color" type="s:int" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfAction">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Action" nillable="true" type="tns:Action" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Action">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Sequence" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:ActionType" />
          <s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:StateType" />
          <s:element minOccurs="0" maxOccurs="1" name="From" type="tns:AreaLine" />
          <s:element minOccurs="0" maxOccurs="1" name="To" type="tns:AreaLine" />
          <s:element minOccurs="1" maxOccurs="1" name="Heading" type="tns:HeadingType" />
          <s:element minOccurs="1" maxOccurs="1" name="Draught" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="ChangedOn" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Times" type="tns:ArrayOfTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Events" type="tns:ArrayOfEvent" />
          <s:element minOccurs="1" maxOccurs="1" name="IsConfirmed" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Note" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="TugCount" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="TugCompany" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="TugCompanyAbbreviation" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="HeadingType">
        <s:restriction base="s:string">
          <s:enumeration value="HeadingIn" />
          <s:enumeration value="HeadingOut" />
          <s:enumeration value="Starboard" />
          <s:enumeration value="Port" />
          <s:enumeration value="Unknown" />
        </s:restriction>
      </s:simpleType>
      <s:complexType name="ArrayOfTime">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Time" nillable="true" type="tns:Time" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Time">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="ETx" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Position" type="tns:AreaLine" />
          <s:element minOccurs="1" maxOccurs="1" name="ChangedOn" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfEvent">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Event" nillable="true" type="tns:Event" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Event">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="Position" type="tns:AreaLine" />
          <s:element minOccurs="0" maxOccurs="1" name="Details" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="OccurredOn" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="Longitude" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="Latitude" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetAreasAnchorages">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAreasAnchoragesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAreasAnchoragesResult" type="tns:AreaLines" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="AreaLines">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="AreaLine" nillable="true" type="tns:AreaLine" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetAreasBerths">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAreasBerthsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAreasBerthsResult" type="tns:AreaLines" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAreasExternalPorts">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetAreasExternalPortsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetAreasExternalPortsResult" type="tns:AreaLines" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetArrivals">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetArrivalsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetArrivalsResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBerthed">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBerthedResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBerthedResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDepartures">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetDeparturesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetDeparturesResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetForecasts">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetForecastsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetForecastsResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetLiveSensors">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetLiveSensorsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetLiveSensorsResult" type="tns:Sensors" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Sensors">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Sensor" nillable="true" type="tns:Sensor" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Sensor">
        <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="Series" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Unit" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Values" type="tns:ArrayOfValue" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfValue">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Value" nillable="true" type="tns:Value" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Value">
        <s:attribute name="CreatedOn" type="s:dateTime" use="required" />
        <s:attribute name="Value" type="s:double" use="required" />
      </s:complexType>
      <s:element name="GetPredictedSensors">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPredictedSensorsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPredictedSensorsResult" type="tns:Sensors" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetShifts">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetShiftsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetShiftsResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPredictedHighLowTide">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPredictedHighLowTideResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPredictedHighLowTideResult" type="tns:Tide" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Tide">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="NextHighOn" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="NextLowOn" type="s:dateTime" />
          <s:element minOccurs="1" maxOccurs="1" name="NextHighHeight" type="s:double" />
          <s:element minOccurs="1" maxOccurs="1" name="NextLowHeight" type="s:double" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetTransits">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetTransitsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetTransitsResult" type="tns:Visits" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetQueuedForecast">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="uniqueIdentifier" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetQueuedForecastResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetQueuedForecastResult" type="tns:Forecast" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Forecast">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="UniqueIdentifier" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="MisId" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="VesselLloydsNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="VesselName" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="VesselDraught" type="s:decimal" />
          <s:element minOccurs="1" maxOccurs="1" name="ETA" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="LastPort" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ArrivalPort" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="BillingAgent" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="PersonsOnBoard" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="HazardousOnBoard" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Note" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Ignore" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="Force" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="Cancel" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Log" type="tns:ArrayOfString" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetWarnings">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetWarningsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetWarningsResult" type="tns:Warnings" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Warnings">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Warning" nillable="true" type="tns:Warning" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Warning">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="CreatedOn" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="Details" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="SetForecast">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="key" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="forecast" type="tns:Forecast" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SetForecastResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SetForecastResult" type="tns:ApiResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ApiResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="Success" type="s:boolean" />
          <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
        </s:sequence>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="IsTrafficOldSoapIn">
    <wsdl:part name="parameters" element="tns:IsTrafficOld" />
  </wsdl:message>
  <wsdl:message name="IsTrafficOldSoapOut">
    <wsdl:part name="parameters" element="tns:IsTrafficOldResponse" />
  </wsdl:message>
  <wsdl:message name="IsLiveSensorOldSoapIn">
    <wsdl:part name="parameters" element="tns:IsLiveSensorOld" />
  </wsdl:message>
  <wsdl:message name="IsLiveSensorOldSoapOut">
    <wsdl:part name="parameters" element="tns:IsLiveSensorOldResponse" />
  </wsdl:message>
  <wsdl:message name="IsPredictedSensorOldSoapIn">
    <wsdl:part name="parameters" element="tns:IsPredictedSensorOld" />
  </wsdl:message>
  <wsdl:message name="IsPredictedSensorOldSoapOut">
    <wsdl:part name="parameters" element="tns:IsPredictedSensorOldResponse" />
  </wsdl:message>
  <wsdl:message name="GetAnchoredSoapIn">
    <wsdl:part name="parameters" element="tns:GetAnchored" />
  </wsdl:message>
  <wsdl:message name="GetAnchoredSoapOut">
    <wsdl:part name="parameters" element="tns:GetAnchoredResponse" />
  </wsdl:message>
  <wsdl:message name="GetAreasAnchoragesSoapIn">
    <wsdl:part name="parameters" element="tns:GetAreasAnchorages" />
  </wsdl:message>
  <wsdl:message name="GetAreasAnchoragesSoapOut">
    <wsdl:part name="parameters" element="tns:GetAreasAnchoragesResponse" />
  </wsdl:message>
  <wsdl:message name="GetAreasBerthsSoapIn">
    <wsdl:part name="parameters" element="tns:GetAreasBerths" />
  </wsdl:message>
  <wsdl:message name="GetAreasBerthsSoapOut">
    <wsdl:part name="parameters" element="tns:GetAreasBerthsResponse" />
  </wsdl:message>
  <wsdl:message name="GetAreasExternalPortsSoapIn">
    <wsdl:part name="parameters" element="tns:GetAreasExternalPorts" />
  </wsdl:message>
  <wsdl:message name="GetAreasExternalPortsSoapOut">
    <wsdl:part name="parameters" element="tns:GetAreasExternalPortsResponse" />
  </wsdl:message>
  <wsdl:message name="GetArrivalsSoapIn">
    <wsdl:part name="parameters" element="tns:GetArrivals" />
  </wsdl:message>
  <wsdl:message name="GetArrivalsSoapOut">
    <wsdl:part name="parameters" element="tns:GetArrivalsResponse" />
  </wsdl:message>
  <wsdl:message name="GetBerthedSoapIn">
    <wsdl:part name="parameters" element="tns:GetBerthed" />
  </wsdl:message>
  <wsdl:message name="GetBerthedSoapOut">
    <wsdl:part name="parameters" element="tns:GetBerthedResponse" />
  </wsdl:message>
  <wsdl:message name="GetDeparturesSoapIn">
    <wsdl:part name="parameters" element="tns:GetDepartures" />
  </wsdl:message>
  <wsdl:message name="GetDeparturesSoapOut">
    <wsdl:part name="parameters" element="tns:GetDeparturesResponse" />
  </wsdl:message>
  <wsdl:message name="GetForecastsSoapIn">
    <wsdl:part name="parameters" element="tns:GetForecasts" />
  </wsdl:message>
  <wsdl:message name="GetForecastsSoapOut">
    <wsdl:part name="parameters" element="tns:GetForecastsResponse" />
  </wsdl:message>
  <wsdl:message name="GetLiveSensorsSoapIn">
    <wsdl:part name="parameters" element="tns:GetLiveSensors" />
  </wsdl:message>
  <wsdl:message name="GetLiveSensorsSoapOut">
    <wsdl:part name="parameters" element="tns:GetLiveSensorsResponse" />
  </wsdl:message>
  <wsdl:message name="GetPredictedSensorsSoapIn">
    <wsdl:part name="parameters" element="tns:GetPredictedSensors" />
  </wsdl:message>
  <wsdl:message name="GetPredictedSensorsSoapOut">
    <wsdl:part name="parameters" element="tns:GetPredictedSensorsResponse" />
  </wsdl:message>
  <wsdl:message name="GetShiftsSoapIn">
    <wsdl:part name="parameters" element="tns:GetShifts" />
  </wsdl:message>
  <wsdl:message name="GetShiftsSoapOut">
    <wsdl:part name="parameters" element="tns:GetShiftsResponse" />
  </wsdl:message>
  <wsdl:message name="GetPredictedHighLowTideSoapIn">
    <wsdl:part name="parameters" element="tns:GetPredictedHighLowTide" />
  </wsdl:message>
  <wsdl:message name="GetPredictedHighLowTideSoapOut">
    <wsdl:part name="parameters" element="tns:GetPredictedHighLowTideResponse" />
  </wsdl:message>
  <wsdl:message name="GetTransitsSoapIn">
    <wsdl:part name="parameters" element="tns:GetTransits" />
  </wsdl:message>
  <wsdl:message name="GetTransitsSoapOut">
    <wsdl:part name="parameters" element="tns:GetTransitsResponse" />
  </wsdl:message>
  <wsdl:message name="GetQueuedForecastSoapIn">
    <wsdl:part name="parameters" element="tns:GetQueuedForecast" />
  </wsdl:message>
  <wsdl:message name="GetQueuedForecastSoapOut">
    <wsdl:part name="parameters" element="tns:GetQueuedForecastResponse" />
  </wsdl:message>
  <wsdl:message name="GetWarningsSoapIn">
    <wsdl:part name="parameters" element="tns:GetWarnings" />
  </wsdl:message>
  <wsdl:message name="GetWarningsSoapOut">
    <wsdl:part name="parameters" element="tns:GetWarningsResponse" />
  </wsdl:message>
  <wsdl:message name="SetForecastSoapIn">
    <wsdl:part name="parameters" element="tns:SetForecast" />
  </wsdl:message>
  <wsdl:message name="SetForecastSoapOut">
    <wsdl:part name="parameters" element="tns:SetForecastResponse" />
  </wsdl:message>
  <wsdl:portType name="ApiSoap">
    <wsdl:operation name="IsTrafficOld">
      <wsdl:input message="tns:IsTrafficOldSoapIn" />
      <wsdl:output message="tns:IsTrafficOldSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="IsLiveSensorOld">
      <wsdl:input message="tns:IsLiveSensorOldSoapIn" />
      <wsdl:output message="tns:IsLiveSensorOldSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="IsPredictedSensorOld">
      <wsdl:input message="tns:IsPredictedSensorOldSoapIn" />
      <wsdl:output message="tns:IsPredictedSensorOldSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAnchored">
      <wsdl:input message="tns:GetAnchoredSoapIn" />
      <wsdl:output message="tns:GetAnchoredSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAreasAnchorages">
      <wsdl:input message="tns:GetAreasAnchoragesSoapIn" />
      <wsdl:output message="tns:GetAreasAnchoragesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAreasBerths">
      <wsdl:input message="tns:GetAreasBerthsSoapIn" />
      <wsdl:output message="tns:GetAreasBerthsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetAreasExternalPorts">
      <wsdl:input message="tns:GetAreasExternalPortsSoapIn" />
      <wsdl:output message="tns:GetAreasExternalPortsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetArrivals">
      <wsdl:input message="tns:GetArrivalsSoapIn" />
      <wsdl:output message="tns:GetArrivalsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBerthed">
      <wsdl:input message="tns:GetBerthedSoapIn" />
      <wsdl:output message="tns:GetBerthedSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetDepartures">
      <wsdl:input message="tns:GetDeparturesSoapIn" />
      <wsdl:output message="tns:GetDeparturesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetForecasts">
      <wsdl:input message="tns:GetForecastsSoapIn" />
      <wsdl:output message="tns:GetForecastsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetLiveSensors">
      <wsdl:input message="tns:GetLiveSensorsSoapIn" />
      <wsdl:output message="tns:GetLiveSensorsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPredictedSensors">
      <wsdl:input message="tns:GetPredictedSensorsSoapIn" />
      <wsdl:output message="tns:GetPredictedSensorsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetShifts">
      <wsdl:input message="tns:GetShiftsSoapIn" />
      <wsdl:output message="tns:GetShiftsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPredictedHighLowTide">
      <wsdl:input message="tns:GetPredictedHighLowTideSoapIn" />
      <wsdl:output message="tns:GetPredictedHighLowTideSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetTransits">
      <wsdl:input message="tns:GetTransitsSoapIn" />
      <wsdl:output message="tns:GetTransitsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetQueuedForecast">
      <wsdl:input message="tns:GetQueuedForecastSoapIn" />
      <wsdl:output message="tns:GetQueuedForecastSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetWarnings">
      <wsdl:input message="tns:GetWarningsSoapIn" />
      <wsdl:output message="tns:GetWarningsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="SetForecast">
      <wsdl:input message="tns:SetForecastSoapIn" />
      <wsdl:output message="tns:SetForecastSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ApiSoap" type="tns:ApiSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="IsTrafficOld">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/IsTrafficOld" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsLiveSensorOld">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/IsLiveSensorOld" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsPredictedSensorOld">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/IsPredictedSensorOld" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAnchored">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetAnchored" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasAnchorages">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetAreasAnchorages" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasBerths">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetAreasBerths" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasExternalPorts">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetAreasExternalPorts" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetArrivals">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetArrivals" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBerthed">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetBerthed" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDepartures">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetDepartures" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetForecasts">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetForecasts" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetLiveSensors">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetLiveSensors" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPredictedSensors">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetPredictedSensors" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetShifts">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetShifts" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPredictedHighLowTide">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetPredictedHighLowTide" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTransits">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetTransits" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetQueuedForecast">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetQueuedForecast" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWarnings">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/GetWarnings" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetForecast">
      <soap:operation soapAction="http://apps.hha.co.uk/mis/SetForecast" 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="ApiSoap12" type="tns:ApiSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="IsTrafficOld">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/IsTrafficOld" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsLiveSensorOld">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/IsLiveSensorOld" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="IsPredictedSensorOld">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/IsPredictedSensorOld" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAnchored">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetAnchored" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasAnchorages">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetAreasAnchorages" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasBerths">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetAreasBerths" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAreasExternalPorts">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetAreasExternalPorts" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetArrivals">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetArrivals" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBerthed">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetBerthed" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDepartures">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetDepartures" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetForecasts">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetForecasts" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetLiveSensors">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetLiveSensors" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPredictedSensors">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetPredictedSensors" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetShifts">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetShifts" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPredictedHighLowTide">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetPredictedHighLowTide" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTransits">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetTransits" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetQueuedForecast">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetQueuedForecast" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWarnings">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/GetWarnings" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetForecast">
      <soap12:operation soapAction="http://apps.hha.co.uk/mis/SetForecast" 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="Api">
    <wsdl:port name="ApiSoap" binding="tns:ApiSoap">
      <soap:address location="http://apps.hha.co.uk/mis/api.asmx" />
    </wsdl:port>
    <wsdl:port name="ApiSoap12" binding="tns:ApiSoap12">
      <soap12:address location="http://apps.hha.co.uk/mis/api.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>