<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://MT/Laboratory/Balance/XprXsr/V03" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://MT/Laboratory/Balance/XprXsr/V03" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://MT/Laboratory/Balance/XprXsr/V03/Imports">
      <xsd:import namespace="http://MT/Laboratory/Balance/XprXsr/V03" />
      <xsd:import namespace="http://microsoft.com/wsdl/types/" />
    </xsd:schema>
    <xsd:schema elementFormDefault="qualified" targetNamespace="http://MT/Laboratory/Balance/XprXsr/V03">
      <xsd:import namespace="http://microsoft.com/wsdl/types/" />
      <xsd:element name="OpenSessionRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the ISessionService.OpenSession request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType />
      </xsd:element>
      <xsd:element name="OpenSessionResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the ISessionService.OpenSession request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The encrypted session ID as base64-encoded string. The session ID is encrypted with the following settings: 1. Encryption algorithm: Aes. 2. Algorithm mode: Ecb mode. 3. Encryption key: Generated from the web service client session password hash (PBKDF2 algorithm). 4. Encryption key length: 128 bit. 5. Block size: 128 bit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Salt" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The salt (32 byte) as base64-encoded string.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="Outcome">
        <xsd:annotation>
          <xsd:documentation>The outcome of a request.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Success">
            <xsd:annotation>
              <xsd:documentation>The request succeeded.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Canceled">
            <xsd:annotation>
              <xsd:documentation>The request was canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Timeout">
            <xsd:annotation>
              <xsd:documentation>The request timed out.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Error">
            <xsd:annotation>
              <xsd:documentation>The request failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="CloseSessionRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the ISessionService.CloseSession request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CloseSessionResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the ISessionService.CloseSession request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SessionIdFault" type="tns:SessionIdFault">
        <xsd:annotation>
          <xsd:documentation>Specifies why a given session ID is invalid.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:simpleType name="SessionIdFault">
        <xsd:annotation>
          <xsd:documentation>Specifies why a given session ID is invalid.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NoSessionId">
            <xsd:annotation>
              <xsd:documentation>No session ID provided.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoValidSessionId">
            <xsd:annotation>
              <xsd:documentation>The session ID is not valid. (Was the session closed because of a time-out?).</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="CancelRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the ISessionService.Cancel request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CancelType" type="tns:CancelType">
              <xsd:annotation>
                <xsd:documentation>The type of the Cancel command.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID of the asynchronous command which is canceled.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="CancelType">
        <xsd:annotation>
          <xsd:documentation>The cancel types.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="All">
            <xsd:annotation>
              <xsd:documentation>All commands are canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CurrentSynchronous">
            <xsd:annotation>
              <xsd:documentation>The current synchronous command is canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Asynchronous">
            <xsd:annotation>
              <xsd:documentation>A specific asynchronous command is canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="CancelResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the ISessionService.Cancel request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeightRepeatedAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.GetWeightRepeatedAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeighingCaptureMode" nillable="true" type="tns:WeighingCaptureMode">
              <xsd:annotation>
                <xsd:documentation>The weighing capture mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightDetectionMode" nillable="true" type="tns:WeightDetectionMode">
              <xsd:annotation>
                <xsd:documentation>The weight detection mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThreshold" nillable="true" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThresholdUnit" nillable="true" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDuration" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The duration of the time interval capture.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDelay" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The time interval capture delay.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="WeighingCaptureMode">
        <xsd:annotation>
          <xsd:documentation>The weighing capture modes.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Stable">
            <xsd:annotation>
              <xsd:documentation>Captures the stable weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Immediate">
            <xsd:annotation>
              <xsd:documentation>Captures the weight immediately.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TimeInterval">
            <xsd:annotation>
              <xsd:documentation>Captures the weight during a time interval.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="WeightChange">
            <xsd:annotation>
              <xsd:documentation>Captures the weight after a change.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="WeightDetectionMode">
        <xsd:annotation>
          <xsd:documentation>The weight detection modes.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="AnyDelta">
            <xsd:annotation>
              <xsd:documentation>On any delta.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NegativeDelta">
            <xsd:annotation>
              <xsd:documentation>On negative delta.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PositiveDelta">
            <xsd:annotation>
              <xsd:documentation>On positive delta.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AnyTransition">
            <xsd:annotation>
              <xsd:documentation>On any transition.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NegativeTransition">
            <xsd:annotation>
              <xsd:documentation>On negative transition.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PositiveTransition">
            <xsd:annotation>
              <xsd:documentation>On positive transition.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="BelowOrEqual">
            <xsd:annotation>
              <xsd:documentation>If below or equal.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AboveOrEqual">
            <xsd:annotation>
              <xsd:documentation>If above or equal.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="Unit">
        <xsd:annotation>
          <xsd:documentation>The units.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GramPerMilliliter">
            <xsd:annotation>
              <xsd:documentation>g/ml</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="GramPerMol">
            <xsd:annotation>
              <xsd:documentation>g/mol</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Bar">
            <xsd:annotation>
              <xsd:documentation>bar</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Currency2">
            <xsd:annotation>
              <xsd:documentation>Currency 2</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Currency1">
            <xsd:annotation>
              <xsd:documentation>Currency 1</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Custom2">
            <xsd:annotation>
              <xsd:documentation>Custom unit 2</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Custom1">
            <xsd:annotation>
              <xsd:documentation>Custom unit 1</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Percent">
            <xsd:annotation>
              <xsd:documentation>%</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Pieces">
            <xsd:annotation>
              <xsd:documentation>Pieces</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="None">
            <xsd:annotation>
              <xsd:documentation>No unit.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PoundOunce">
            <xsd:annotation>
              <xsd:documentation>lboz</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Baht">
            <xsd:annotation>
              <xsd:documentation>baht</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Tola">
            <xsd:annotation>
              <xsd:documentation>tola</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Tical">
            <xsd:annotation>
              <xsd:documentation>tical</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TaiwanTael">
            <xsd:annotation>
              <xsd:documentation>ttl</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SingaporeTael">
            <xsd:annotation>
              <xsd:documentation>stl</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="HongKongTael">
            <xsd:annotation>
              <xsd:documentation>htl</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Mesghal">
            <xsd:annotation>
              <xsd:documentation>msg</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Momme">
            <xsd:annotation>
              <xsd:documentation>mo</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Pennyweight">
            <xsd:annotation>
              <xsd:documentation>dwt</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Grain">
            <xsd:annotation>
              <xsd:documentation>GN</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TroyOunce">
            <xsd:annotation>
              <xsd:documentation>ozt</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Ounce">
            <xsd:annotation>
              <xsd:documentation>oz</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Pound">
            <xsd:annotation>
              <xsd:documentation>lb</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Newton">
            <xsd:annotation>
              <xsd:documentation>N</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Carat">
            <xsd:annotation>
              <xsd:documentation>ct</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Microgram">
            <xsd:annotation>
              <xsd:documentation>ug</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Milligram">
            <xsd:annotation>
              <xsd:documentation>mg</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Ton">
            <xsd:annotation>
              <xsd:documentation>t</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Kilogram">
            <xsd:annotation>
              <xsd:documentation>kg</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Gram">
            <xsd:annotation>
              <xsd:documentation>g</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="GetWeightRepeatedAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.GetWeightRepeatedAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeightAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.GetWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeighingCaptureMode" nillable="true" type="tns:WeighingCaptureMode">
              <xsd:annotation>
                <xsd:documentation>The weighing capture mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightDetectionMode" nillable="true" type="tns:WeightDetectionMode">
              <xsd:annotation>
                <xsd:documentation>The weight detection mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThreshold" nillable="true" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThresholdUnit" nillable="true" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDuration" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The duration of the time interval capture.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDelay" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The time interval capture delay.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeightAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.GetWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeightRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.GetWeight request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeighingCaptureMode" nillable="true" type="tns:WeighingCaptureMode">
              <xsd:annotation>
                <xsd:documentation>The weighing capture mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightDetectionMode" nillable="true" type="tns:WeightDetectionMode">
              <xsd:annotation>
                <xsd:documentation>The weight detection mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThreshold" nillable="true" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="WeightChangeThresholdUnit" nillable="true" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The weight change threshold unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDuration" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The duration of the time interval capture.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeIntervalCaptureDelay" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The time interval capture delay.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TimeoutInSeconds" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command time-out in seconds.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeightResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.GetWeight request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="WeightSample" type="tns:WeightSample">
              <xsd:annotation>
                <xsd:documentation>The weight sample.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="WeightSample">
        <xsd:annotation>
          <xsd:documentation>The weight sample.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="NetWeight" type="tns:MeasuredWeight">
            <xsd:annotation>
              <xsd:documentation>The net weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="GrossWeight" type="tns:MeasuredWeight">
            <xsd:annotation>
              <xsd:documentation>The gross weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TareWeight" type="tns:TareWeight">
            <xsd:annotation>
              <xsd:documentation>The tare weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="Stable" nillable="true" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>A value indicating whether the weight was stable when measured.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="Status" type="tns:WeightSampleStatus">
            <xsd:annotation>
              <xsd:documentation>The weight sample status.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MeasuredWeight">
        <xsd:annotation>
          <xsd:documentation>The measured weight.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:ValueWithUnit">
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="CustomUnitName" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>The name of the custom unit.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ValueWithUnit">
        <xsd:annotation>
          <xsd:documentation>A value with a unit.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="Value" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The value.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="Unit" type="tns:Unit">
            <xsd:annotation>
              <xsd:documentation>The unit.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="TareWeight">
        <xsd:annotation>
          <xsd:documentation>The tare weight.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:MeasuredWeight">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="PreTare" type="xsd:boolean">
                <xsd:annotation>
                  <xsd:documentation>A value indicating whether the tare weight is pretared.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="WeightSampleStatus">
        <xsd:annotation>
          <xsd:documentation>The weight sample status.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Ok">
            <xsd:annotation>
              <xsd:documentation>The 'Ok' status.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Error">
            <xsd:annotation>
              <xsd:documentation>The error status.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Overload">
            <xsd:annotation>
              <xsd:documentation>The overload status.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Underload">
            <xsd:annotation>
              <xsd:documentation>The underload status.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Undefined">
            <xsd:annotation>
              <xsd:documentation>No defined status.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="ZeroRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.Zero request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="ZeroImmediately" nillable="true" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Zeroes immediately if set to 'true'.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ZeroResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.Zero request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="ErrorState" nillable="true" type="tns:TareZeroError">
              <xsd:annotation>
                <xsd:documentation>The error state.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="TareZeroError">
        <xsd:annotation>
          <xsd:documentation>The tare and zero errors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Overload">
            <xsd:annotation>
              <xsd:documentation>Overload error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Underload">
            <xsd:annotation>
              <xsd:documentation>Underload error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Undefined">
            <xsd:annotation>
              <xsd:documentation>Undefined error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="StaticDetectionFailed">
            <xsd:annotation>
              <xsd:documentation>Static detection failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NotPossibleDueToCurrentWeighingWorkflowState">
            <xsd:annotation>
              <xsd:documentation>Not possible because of current weighing workflow state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="TareRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.Tare request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TareImmediately" nillable="true" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Tares immediately if set to 'true'.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="TareResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.Tare request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="ErrorState" nillable="true" type="tns:TareZeroError">
              <xsd:annotation>
                <xsd:documentation>The error state.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetPretareValueRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.SetPretareValue request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="Value" type="xsd:decimal">
              <xsd:annotation>
                <xsd:documentation>The pretare value.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="Unit" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The pretare unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetPretareValueResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.SetPretareValue request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearPretareValueRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingService.SetPretareValue request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearPretareValueResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingService.ClearPretareValue request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetListOfMethodsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.GetListOfMethods request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetListOfMethodsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.GetListOfMethods request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Methods" type="tns:ArrayOfMethodDescription">
              <xsd:annotation>
                <xsd:documentation>The configured methods.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfMethodDescription">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="MethodDescription" nillable="true" type="tns:MethodDescription" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MethodDescription">
        <xsd:annotation>
          <xsd:documentation>The method description.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The name of the method.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="MethodType" type="tns:MethodType">
            <xsd:annotation>
              <xsd:documentation>The type of the method.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="MethodType">
        <xsd:annotation>
          <xsd:documentation>The method type.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="GeneralWeighing">
            <xsd:annotation>
              <xsd:documentation>General weighing method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SimpleFormulation">
            <xsd:annotation>
              <xsd:documentation>Simple formulation method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PieceCounting">
            <xsd:annotation>
              <xsd:documentation>Piece counting method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="IntervalWeighing">
            <xsd:annotation>
              <xsd:documentation>Interval weighing method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Titration">
            <xsd:annotation>
              <xsd:documentation>Titration method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DensityDetermination">
            <xsd:annotation>
              <xsd:documentation>Density determination method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AutomatedDosing">
            <xsd:annotation>
              <xsd:documentation>Automated dosing method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Solution">
            <xsd:annotation>
              <xsd:documentation>Solution method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Sqc">
            <xsd:annotation>
              <xsd:documentation>SQC weighing method.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="StartTaskRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.StartTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="MethodName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The method name.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartTaskResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.StartTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TaskHandle" xmlns:q1="http://microsoft.com/wsdl/types/" type="q1:guid">
              <xsd:annotation>
                <xsd:documentation>The unique task handle. If the task could not be started, the handle is Guid.Empty.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CancelCurrentTaskRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.CancelCurrentTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CancelCurrentTaskResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.CancelCurrentTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CompleteCurrentTaskRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.CompleteCurrentTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CompleteCurrentTaskResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.CompleteCurrentTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="WeighingItems" type="tns:ArrayOfWeighingItem">
              <xsd:annotation>
                <xsd:documentation>The weighing items.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="OutputErrors" type="tns:ArrayOfOutputResult">
              <xsd:annotation>
                <xsd:documentation>The errors which occurred during the automated output.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfWeighingItem">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="WeighingItem" nillable="true" type="tns:WeighingItem" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="WeighingItem">
        <xsd:annotation>
          <xsd:documentation>Represents a weighing item of the task protocol, containing the most important data of a weighing result.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="ResultState" type="tns:ResultState">
            <xsd:annotation>
              <xsd:documentation>The state of the result.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TaskIds" type="tns:ArrayOfString">
            <xsd:annotation>
              <xsd:documentation>The task IDs. The list is empty if no IDs are available.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="ResultIds" type="tns:ArrayOfString">
            <xsd:annotation>
              <xsd:documentation>The result IDs. The list is empty if no IDs are available.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="WeightSample" type="tns:WeightSample">
            <xsd:annotation>
              <xsd:documentation>The weight sample.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="AlibiId" nillable="true" type="xsd:int">
            <xsd:annotation>
              <xsd:documentation>The alibi ID or 'null', if not available.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="ResultState">
        <xsd:annotation>
          <xsd:documentation>The result states.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Undefined">
            <xsd:annotation>
              <xsd:documentation>Undefined state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Ok">
            <xsd:annotation>
              <xsd:documentation>Ok state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NotOk">
            <xsd:annotation>
              <xsd:documentation>Not Ok state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Excluded">
            <xsd:annotation>
              <xsd:documentation>Excluded state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ItemSpecific">
            <xsd:annotation>
              <xsd:documentation>Item specific state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="ArrayOfString">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ArrayOfOutputResult">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="OutputResult" type="tns:OutputResult" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="OutputResult">
        <xsd:annotation>
          <xsd:documentation>The known output results.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Unknown">
            <xsd:annotation>
              <xsd:documentation>Unknown result / default value.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PrinterOffline">
            <xsd:annotation>
              <xsd:documentation>The printer is off-line.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoStripPrinterConfigured">
            <xsd:annotation>
              <xsd:documentation>No strip printer is configured and active.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoLabelPrinterConfigured">
            <xsd:annotation>
              <xsd:documentation>No label printer is configured and active.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoOfficePrinterConfigured">
            <xsd:annotation>
              <xsd:documentation>No office printer is configured and active.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoLabelPrinterTemplateConfigured">
            <xsd:annotation>
              <xsd:documentation>No template is configured.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PrinterUnknownError">
            <xsd:annotation>
              <xsd:documentation>Unknown printer error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoUsbDevicesFound">
            <xsd:annotation>
              <xsd:documentation>No USB devices found.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="MultipleUsbDevicesFound">
            <xsd:annotation>
              <xsd:documentation>Multiple USB devices found.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NotEnoughMemory">
            <xsd:annotation>
              <xsd:documentation>Not enough space available on the storage device.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ExportUnknownError">
            <xsd:annotation>
              <xsd:documentation>IO exception during read/write.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="FileServerConnectionError">
            <xsd:annotation>
              <xsd:documentation>Error creating file server connection.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Completed">
            <xsd:annotation>
              <xsd:documentation>Output completed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="ResumeTaskRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.ResumeTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="TaskHandle" xmlns:q2="http://microsoft.com/wsdl/types/" type="q2:guid">
              <xsd:annotation>
                <xsd:documentation>The unique task handle.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ResumeTaskResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.ResumeTask request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetTargetValueAndTolerancesRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.GetTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetTargetValueAndTolerancesResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.GetTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TargetWeight" type="tns:MeasuredWeight">
              <xsd:annotation>
                <xsd:documentation>The target weight.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="LowerTolerance" type="tns:MeasuredWeight">
              <xsd:annotation>
                <xsd:documentation>The lower tolerance.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="UpperTolerance" type="tns:MeasuredWeight">
              <xsd:annotation>
                <xsd:documentation>The upper tolerance.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetTargetValueAndTolerancesRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.SetTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TargetWeight" type="tns:WeightWithUnit">
              <xsd:annotation>
                <xsd:documentation>The target weight value (mandatory).</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="LowerTolerance" type="tns:WeightWithUnit">
              <xsd:annotation>
                <xsd:documentation>The lower tolerance (optional).</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="UpperTolerance" type="tns:WeightWithUnit">
              <xsd:annotation>
                <xsd:documentation>The upper tolerance (optional).</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="WeightWithUnit">
        <xsd:annotation>
          <xsd:documentation>The weight to set/read tolerances, target weight, pretare value.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="Value" nillable="true" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation>The value.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="Unit" type="tns:Unit">
            <xsd:annotation>
              <xsd:documentation>The unit.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="SetTargetValueAndTolerancesResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.SetTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearTargetValueAndTolerancesRequest">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.ClearTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearTargetValueAndTolerancesResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.ClearTargetValueAndTolerances request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetTaskAndResultIdsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.GetTaskAndResultIds request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetTaskAndResultIdsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.GetTaskAndResultIds request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaskIdLabelsAndValues" type="tns:ArrayOfLabelAndValue">
              <xsd:annotation>
                <xsd:documentation>The task ID labels and values.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ResultIdLabelsAndValues" type="tns:ArrayOfLabelAndValue">
              <xsd:annotation>
                <xsd:documentation>The result ID labels and values.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfLabelAndValue">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="LabelAndValue" nillable="true" type="tns:LabelAndValue" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="LabelAndValue">
        <xsd:annotation>
          <xsd:documentation>The field ID, label, and value.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="Id" type="tns:LabelFieldId">
            <xsd:annotation>
              <xsd:documentation>The field ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Label" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The label of the field.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Value" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The value of the field.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="LabelFieldId">
        <xsd:annotation>
          <xsd:documentation>The task and result ID fields.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TaskId1">
            <xsd:annotation>
              <xsd:documentation>The task ID1 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TaskId2">
            <xsd:annotation>
              <xsd:documentation>The task ID2 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TaskId3">
            <xsd:annotation>
              <xsd:documentation>The task ID3 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ResultId1">
            <xsd:annotation>
              <xsd:documentation>The result ID1 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ResultId2">
            <xsd:annotation>
              <xsd:documentation>The result ID2 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ResultId3">
            <xsd:annotation>
              <xsd:documentation>The result ID3 field.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="SetTaskAndResultIdsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.SetTaskAndResultIds request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TaskIdLabelsAndValues" type="tns:ArrayOfLabelAndValue">
              <xsd:annotation>
                <xsd:documentation>The task ID labels and values.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ResultIdLabelsAndValues" type="tns:ArrayOfLabelAndValue">
              <xsd:annotation>
                <xsd:documentation>The result ID labels and values.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetTaskAndResultIdsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.SetTaskAndResultIds request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetUnitRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.SetUnit request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="DisplayUnit" nillable="true" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The display unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="IsInfoUnitEnabled" nillable="true" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>A value indicating whether the info unit is enabled.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="InfoUnit" nillable="true" type="tns:Unit">
              <xsd:annotation>
                <xsd:documentation>The info unit.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetUnitResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.SetUnit request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AddToProtocolRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.AddToProtocol request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="AddToProtocolResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.AddToProtocol request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="ResultOutput" nillable="true" type="tns:ResultOutput">
              <xsd:annotation>
                <xsd:documentation>The result output.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="WeighingItem" type="tns:WeighingItem">
              <xsd:annotation>
                <xsd:documentation>The weighing item.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="ResultOutput">
        <xsd:annotation>
          <xsd:documentation>The result output of 'Add to protocol'.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Failed">
            <xsd:annotation>
              <xsd:documentation>The entry was not created.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Ok">
            <xsd:annotation>
              <xsd:documentation>The result is added to the protocol.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TimeoutDueInstability">
            <xsd:annotation>
              <xsd:documentation>'Add result' was timed out due to lack of stability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Cancel">
            <xsd:annotation>
              <xsd:documentation>'Add result to protocol' was canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="FailedAlibi">
            <xsd:annotation>
              <xsd:documentation>The alibi memory cannot be created, general failure.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="FailedAlibiFull">
            <xsd:annotation>
              <xsd:documentation>The alibi memory is full.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="StaticDetectionFailed">
            <xsd:annotation>
              <xsd:documentation>Static detection failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NotPossibleDueToCurrentWeighingWorkflowState">
            <xsd:annotation>
              <xsd:documentation>Not possible because of current weighing workflow state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="SetActiveWeighingItemRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.SetActiveWeighingItem request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="NumberOfItemInResultProtocol" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The number of items in the result protocol. Note: the first item is 1 (1 based).</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetActiveWeighingItemResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.SetActiveWeighingItem request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeighingItemsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IWeighingTaskService.GetWeighingItems request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetWeighingItemsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IWeighingTaskService.GetWeighingItems request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="WeighingItems" type="tns:ArrayOfWeighingItem">
              <xsd:annotation>
                <xsd:documentation>The weighing items.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ForwardBarcodeScannerInputAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IUserInteractionService.ForwardBarcodeScannerInputAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ForwardBarcodeScannerInputAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IUserInteractionService.ForwardBarcodeScannerInputAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="RedirectUiKeyPressEventsAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IUserInteractionService.RedirectUiKeyPressEventsAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="RedirectUiKeyPressEventsAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IUserInteractionService.RedirectUiKeyPressEventsAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetUserInteractionOnUiRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IUserInteractionService.SetUserInteractionOnUi request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="EnableUserInteractionOnUi" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>A value indicating whether user interaction on the UI is enabled.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetUserInteractionOnUiResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IUserInteractionService.SetUserInteractionOnUi request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetListOfProfilesRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IToleranceProfileService.GetListOfProfiles request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetListOfProfilesResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IToleranceProfileService.GetListOfProfiles request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ToleranceProfileNames" type="tns:ArrayOfString">
              <xsd:annotation>
                <xsd:documentation>The names of the configured tolerance profiles.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetActiveProfileRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IToleranceProfileService.GetActiveProfile request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetActiveProfileResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IToleranceProfileService.GetActiveProfile request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ToleranceProfileName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The name of the active tolerance profile.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetActiveProfileRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IToleranceProfileService.SetActiveProfile request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ToleranceProfileName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The name of the tolerance profile to be activated.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetActiveProfileResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IToleranceProfileService.SetActiveProfile request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetSettingsRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IToleranceProfileService.GetSettings request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ToleranceProfileName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The active tolerance profile name.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetSettingsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IToleranceProfileService.GetSettings request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ToleranceProfile" type="tns:ToleranceProfile">
              <xsd:annotation>
                <xsd:documentation>The tolerance profile.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ToleranceProfile">
        <xsd:annotation>
          <xsd:documentation>The tolerance profile.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The tolerance profile name.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="ScreenMarkColor" type="tns:ScreenMarkColor">
            <xsd:annotation>
              <xsd:documentation>The screen mark color.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="ScreenMarkText" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The screen mark text.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="EnvironmentMode" type="tns:EnvironmentMode">
            <xsd:annotation>
              <xsd:documentation>The environment mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="WeighingMode" type="tns:WeighingMode">
            <xsd:annotation>
              <xsd:documentation>The weighing mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="ValueReleaseMode" type="tns:ValueReleaseMode">
            <xsd:annotation>
              <xsd:documentation>The value release mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="DisplayReadability" type="tns:Readability">
            <xsd:annotation>
              <xsd:documentation>The display readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="ZeroDriftCompensation" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>The zero drift compensation.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="AllowedUnits" type="tns:ArrayOfUnit">
            <xsd:annotation>
              <xsd:documentation>The allowed units.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="CalibrationCertificateInfo" type="tns:CalibrationCertificateInfo">
            <xsd:annotation>
              <xsd:documentation>The calibration certificate information.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="MinWeighProfile" type="tns:MinWeighProfile">
            <xsd:annotation>
              <xsd:documentation>The minimum weight profile.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="ScreenMarkColor">
        <xsd:annotation>
          <xsd:documentation>The available screen mark color.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="None">
            <xsd:annotation>
              <xsd:documentation>No color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Neutral">
            <xsd:annotation>
              <xsd:documentation>Neutral color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="White">
            <xsd:annotation>
              <xsd:documentation>White color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Yellow">
            <xsd:annotation>
              <xsd:documentation>Yellow color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Red">
            <xsd:annotation>
              <xsd:documentation>Red color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Blue">
            <xsd:annotation>
              <xsd:documentation>Blue color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Green">
            <xsd:annotation>
              <xsd:documentation>Green color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Black">
            <xsd:annotation>
              <xsd:documentation>Black color.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="EnvironmentMode">
        <xsd:annotation>
          <xsd:documentation>The environment mode.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Automatic">
            <xsd:annotation>
              <xsd:documentation>Automatic mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="VeryUnstable">
            <xsd:annotation>
              <xsd:documentation>Very unstable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Unstable">
            <xsd:annotation>
              <xsd:documentation>Unstable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Standard">
            <xsd:annotation>
              <xsd:documentation>Standard mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Stable">
            <xsd:annotation>
              <xsd:documentation>Stable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="VeryStable">
            <xsd:annotation>
              <xsd:documentation>Very stable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="WeighingMode">
        <xsd:annotation>
          <xsd:documentation>The weighing mode.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DynamicWeighing">
            <xsd:annotation>
              <xsd:documentation>Dynamic weighing mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CheckWeighing">
            <xsd:annotation>
              <xsd:documentation>Check weighing mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SensorMode">
            <xsd:annotation>
              <xsd:documentation>Fixed filter mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Dosing">
            <xsd:annotation>
              <xsd:documentation>Dosing mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Universal">
            <xsd:annotation>
              <xsd:documentation>Normal weighing mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="ValueReleaseMode">
        <xsd:annotation>
          <xsd:documentation>The value release mode.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="VeryReliable">
            <xsd:annotation>
              <xsd:documentation>Very reliable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Reliable">
            <xsd:annotation>
              <xsd:documentation>Reliable mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ReliableAndFast">
            <xsd:annotation>
              <xsd:documentation>Reliable and fast mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Fast">
            <xsd:annotation>
              <xsd:documentation>Fast mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="VeryFast">
            <xsd:annotation>
              <xsd:documentation>Very fast mode.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="Readability">
        <xsd:annotation>
          <xsd:documentation>The readability.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Readability5d">
            <xsd:annotation>
              <xsd:documentation>5d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability2d">
            <xsd:annotation>
              <xsd:documentation>2d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability1000d">
            <xsd:annotation>
              <xsd:documentation>1000d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability100d">
            <xsd:annotation>
              <xsd:documentation>100d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability10d">
            <xsd:annotation>
              <xsd:documentation>10d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability1d">
            <xsd:annotation>
              <xsd:documentation>1d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability20d">
            <xsd:annotation>
              <xsd:documentation>20d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability50d">
            <xsd:annotation>
              <xsd:documentation>50d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability200d">
            <xsd:annotation>
              <xsd:documentation>200d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Readability500d">
            <xsd:annotation>
              <xsd:documentation>500d readability.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="ArrayOfUnit">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="Unit" type="tns:Unit" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="CalibrationCertificateInfo">
        <xsd:annotation>
          <xsd:documentation>The calibration certificate information.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="CertificateId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The certificate ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="CalibrationDate" nillable="true" type="xsd:dateTime">
            <xsd:annotation>
              <xsd:documentation>The calibration date.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="NextCalibrationDate" nillable="true" type="xsd:dateTime">
            <xsd:annotation>
              <xsd:documentation>The next calibration date.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MinWeighProfile">
        <xsd:annotation>
          <xsd:documentation>The minimum weight profile.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="CertificateId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The certificate ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="MinWeighType" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The minimum weight type.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="WeighingTolerance" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The weighing tolerance.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="SafetyFactor" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The safety factor.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="ExpansionFactor" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The expansion factor.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="MinWeighLimits" type="tns:ArrayOfMinWeighLimit">
            <xsd:annotation>
              <xsd:documentation>The minimum weight limits.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ArrayOfMinWeighLimit">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="MinWeighLimit" nillable="true" type="tns:MinWeighLimit" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="MinWeighLimit">
        <xsd:annotation>
          <xsd:documentation>The minimum weight limit.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="TareWeight" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The tare weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="SmallestNetWeight" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The smallest net weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="GetListOfRoutineTestsRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IRoutineTestService.GetListOfRoutineTests request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetListOfRoutineTestsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IRoutineTestService.GetListOfRoutineTests request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="RoutineTests" type="tns:ArrayOfRoutineTestDescription">
              <xsd:annotation>
                <xsd:documentation>The configured routine tests.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfRoutineTestDescription">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="RoutineTestDescription" nillable="true" type="tns:RoutineTestDescription" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RoutineTestDescription">
        <xsd:annotation>
          <xsd:documentation>The routine test description.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The name of the routine test.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="RoutineTestType" type="tns:RoutineTestType">
            <xsd:annotation>
              <xsd:documentation>The type of the routine test.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="RoutineTestType">
        <xsd:annotation>
          <xsd:documentation>The type of the routine test.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Sensitivity">
            <xsd:annotation>
              <xsd:documentation>The sensitivity test.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Repeatability">
            <xsd:annotation>
              <xsd:documentation>The repeatability test.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Eccentricity">
            <xsd:annotation>
              <xsd:documentation>The eccentricity test.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Linearity">
            <xsd:annotation>
              <xsd:documentation>The linearity test.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="StartRoutineTestAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IRoutineTestService.StartRoutineTestAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="RoutineTestName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The name of the routine test.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TestWeightNames" type="tns:ArrayOfString">
              <xsd:annotation>
                <xsd:documentation>The test weight names.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartRoutineTestAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IRoutineTestService.StartRoutineTestAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartTestWithBuiltInWeightAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IRoutineTestService.StartTestWithBuiltInWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartTestWithBuiltInWeightAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IRoutineTestService.StartTestWithBuiltInWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetNotificationsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the INotificationService.GetNotifications request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="LongPollingTimeout" nillable="true" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>As long as no notification message is available, the web service waits a maximum amount of milliseconds.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetNotificationsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the INotificationService.GetNotifications request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Notifications" type="tns:ArrayOfChoice1">
              <xsd:annotation>
                <xsd:documentation>A list of all available notifications that the server wants to send to this client. 'Null' means: Currently no notifications available.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfChoice1">
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:element minOccurs="1" maxOccurs="1" name="EventNotification" nillable="true" type="tns:EventNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="DosingAutomationFinishedAsyncNotification" nillable="true" type="tns:DosingAutomationFinishedAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="StartAdjustmentAsyncNotification" nillable="true" type="tns:StartAdjustmentAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="DosingAutomationJobFinishedAsyncNotification" nillable="true" type="tns:DosingAutomationJobFinishedAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="GetWeightAsyncNotification" nillable="true" type="tns:GetWeightAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="ResultProtocolEventNotification" nillable="true" type="tns:ResultProtocolEventNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="GetWeightRepeatedAsyncNotification" nillable="true" type="tns:GetWeightRepeatedAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="StartRoutineTestAsyncNotification" nillable="true" type="tns:StartRoutineTestAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="RedirectUiKeyPressEventsAsyncNotification" nillable="true" type="tns:RedirectUiKeyPressEventsAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="BufferOverrunEvent" nillable="true" type="tns:BufferOverrunEvent" />
          <xsd:element minOccurs="1" maxOccurs="1" name="DosingAutomationActionAsyncNotification" nillable="true" type="tns:DosingAutomationActionAsyncNotification" />
          <xsd:element minOccurs="1" maxOccurs="1" name="StartTestWithBuiltInWeightAsyncNotification" nillable="true" type="tns:StartTestWithBuiltInWeightAsyncNotification" />
        </xsd:choice>
      </xsd:complexType>
      <xsd:complexType name="EventNotification">
        <xsd:annotation>
          <xsd:documentation>Indicates that a registered event occurred.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="NotificationType" type="tns:EventNotificationType">
                <xsd:annotation>
                  <xsd:documentation>The event notification type.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="AsynchronousNotification">
        <xsd:annotation>
          <xsd:documentation>The base for asynchronous notifications.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
            <xsd:annotation>
              <xsd:documentation>The command ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DosingAutomationAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the outcome.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DosingAutomationJobFinishedAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous job finisehed notification for the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:DosingAutomationAsyncNotification">
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="DosingResult" type="tns:DosingResult">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the dosing results.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="DosingError" nillable="true" type="tns:DosingError">
                <xsd:annotation>
                  <xsd:documentation> Gets or sets the dosing error.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DosingResult">
        <xsd:annotation>
          <xsd:documentation>The dosing result.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="DurationInSeconds" type="xsd:unsignedInt">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the dosing duration in seconds.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="DosingJob" type="tns:DosingJob">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the executed dosing job.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="WeightSample" type="tns:WeightSample">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the weight sample.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DosingJob">
        <xsd:annotation>
          <xsd:documentation>The dosing job info provided in the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="VialName" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the vial name (0 to 32 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="SubstanceName" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the substance name (0 to 20 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TargetWeight" type="tns:WeightWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the target weight (mandatory).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="LowerTolerance" type="tns:WeightWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the lower tolerance (optional).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="UpperTolerance" type="tns:WeightWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the upper tolerance (optional).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="DosingError">
        <xsd:annotation>
          <xsd:documentation>The dosing job errors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DosingLiftBlocked">
            <xsd:annotation>
              <xsd:documentation>Dosing lift is blocked.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingLiftOverload">
            <xsd:annotation>
              <xsd:documentation>Dosing lift led to a loadcell overload.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoVialDetected">
            <xsd:annotation>
              <xsd:documentation>No vial detected.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingPositionNotReachable">
            <xsd:annotation>
              <xsd:documentation>The dosing position is not reachable.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="StaticDetectionFailed">
            <xsd:annotation>
              <xsd:documentation>The static detection failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TareNegativeGrossWeight">
            <xsd:annotation>
              <xsd:documentation>The tare aborted due to a negative gross weight.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TareUnderload">
            <xsd:annotation>
              <xsd:documentation>Tare aborted with under load.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TareOverload">
            <xsd:annotation>
              <xsd:documentation>Tare aborted with overload.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TareAborted">
            <xsd:annotation>
              <xsd:documentation>Tare aborted with an unknown error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TargetWeightPlusTareWeightExceedBalanceCapacity">
            <xsd:annotation>
              <xsd:documentation>Current target weight + tare weight is &gt;= max balance capacity.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RfidTagError">
            <xsd:annotation>
              <xsd:documentation>Error accessing the RFID tag.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="HeadCouplingOperationError">
            <xsd:annotation>
              <xsd:documentation>Error occurred on dosing head coupling operation (de-/coupling).</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PowderTooHard">
            <xsd:annotation>
              <xsd:documentation>Dosing aborted with powder too hard.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SubstanceFlowTooLow">
            <xsd:annotation>
              <xsd:documentation>Dosing aborted with substance flow too low.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingUnderload">
            <xsd:annotation>
              <xsd:documentation>Dosing aborted because an underload was detected.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingOverload">
            <xsd:annotation>
              <xsd:documentation>Dosing aborted because an overload was detected.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingError">
            <xsd:annotation>
              <xsd:documentation>Dosing failed with an error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightNotStable">
            <xsd:annotation>
              <xsd:documentation>Capture weight was not stable.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightOverload">
            <xsd:annotation>
              <xsd:documentation>Capture weight aborted with overload.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightUnderload">
            <xsd:annotation>
              <xsd:documentation>Capture weight aborted with under load.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightAlibiError">
            <xsd:annotation>
              <xsd:documentation>Capture weight aborted with an alibi error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightAlibiBusy">
            <xsd:annotation>
              <xsd:documentation>Capture weight aborted with an alibi busy.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CaptureWeightFailed">
            <xsd:annotation>
              <xsd:documentation>Capture weight aborted with an unknown error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PumpError">
            <xsd:annotation>
              <xsd:documentation>The pump reported an error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PersistingFailed">
            <xsd:annotation>
              <xsd:documentation>The persisting has failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="DosingAutomationFinishedAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous job list finished notification for the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:DosingAutomationAsyncNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="FailureReason" nillable="true" type="tns:DosingJobListError">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the failure reason.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="FailureDescription" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the failure description.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="DosingJobListError">
        <xsd:annotation>
          <xsd:documentation>The dosing job action errors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PlacedVialInvalid">
            <xsd:annotation>
              <xsd:documentation>The placed vial is invalid.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AbortedDueToRefusedInteraction">
            <xsd:annotation>
              <xsd:documentation>The dosing job list execution was aborted due to invalid user interaction.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ErrorReadingDosingHead">
            <xsd:annotation>
              <xsd:documentation>The dosing head reading failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingLiftBlocked">
            <xsd:annotation>
              <xsd:documentation>The dosing lift is blocked.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="HeadCouplingOperationError">
            <xsd:annotation>
              <xsd:documentation>The head coupling operation failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AdjustmentFailed">
            <xsd:annotation>
              <xsd:documentation>An adjustment failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DoorOpeningError">
            <xsd:annotation>
              <xsd:documentation>A door could not be opened.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DoorClosingError">
            <xsd:annotation>
              <xsd:documentation>A door could not be closed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="GoToHomeError">
            <xsd:annotation>
              <xsd:documentation>An go to home error occurred (details in abort reasons).</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="UnexpectedError">
            <xsd:annotation>
              <xsd:documentation>An unexpected error occurred.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="DosingAutomationActionAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:DosingAutomationAsyncNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="DosingJobActionType" type="tns:DosingJobActionType">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the dosing job action type.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="DosingJobActionReason" type="tns:DosingJobActionReason">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the dosing action reason.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="ActionItem" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the required dosing job action item: A) PlaceDosingHead: 'SubstanceName' B) RemoveDosingHead: - C) PlaceVial: 'VialName' D) RemoveVial: -</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="DosingHeadError" type="tns:ArrayOfDosingHeadError">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the dosing head errors.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="DosingJobActionType">
        <xsd:annotation>
          <xsd:documentation>The dosing job action types.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PlaceDosingHead">
            <xsd:annotation>
              <xsd:documentation>Place the dosing head.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RemoveDosingHead">
            <xsd:annotation>
              <xsd:documentation>Remove the dosing head.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PlaceVial">
            <xsd:annotation>
              <xsd:documentation>Place the vial.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RemoveVial">
            <xsd:annotation>
              <xsd:documentation>Remove the vial.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="WaitForAdjustmentToFinish">
            <xsd:annotation>
              <xsd:documentation>Wait for currently running adjustment to finish.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="DosingJobActionReason">
        <xsd:annotation>
          <xsd:documentation>The dosing job action reasons.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="DosingJobSetup">
            <xsd:annotation>
              <xsd:documentation>The dosing job setup.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingHeadInvalid">
            <xsd:annotation>
              <xsd:documentation>The dosing head is invalid.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NoVialDetectedError">
            <xsd:annotation>
              <xsd:documentation>The no vial detect error.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AdjustmentPending">
            <xsd:annotation>
              <xsd:documentation>An adjustment is pending and needs to be performed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="ArrayOfDosingHeadError">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DosingHeadError" type="tns:DosingHeadError" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="DosingHeadError">
        <xsd:annotation>
          <xsd:documentation>The dosing head errors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="SubstanceDoesNotMatch">
            <xsd:annotation>
              <xsd:documentation>The substance on the attached head does not match with the method settings.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="InsufficientSubstanceQuantity">
            <xsd:annotation>
              <xsd:documentation>The dosing head has insufficient substance quantity.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingLimitExceeded">
            <xsd:annotation>
              <xsd:documentation>The dosing limit is exceeded.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="CorruptDosingHeadData">
            <xsd:annotation>
              <xsd:documentation>The dosing head has some corrupt data.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="IncompatibleDataVersion">
            <xsd:annotation>
              <xsd:documentation>The dosing head has a incompatible data version.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SubstanceExpired">
            <xsd:annotation>
              <xsd:documentation>The substance is expired.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="RedirectUiKeyPressEventsAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IUserInteractionService.RedirectUiKeyPressEventsAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="KeyId" type="tns:KeyId">
                <xsd:annotation>
                  <xsd:documentation>The key ID.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="KeyId">
        <xsd:annotation>
          <xsd:documentation>The key identifiers.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Standby">
            <xsd:annotation>
              <xsd:documentation>The standby key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PowerOn">
            <xsd:annotation>
              <xsd:documentation>The power on key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Tare">
            <xsd:annotation>
              <xsd:documentation>The tare key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Zero">
            <xsd:annotation>
              <xsd:documentation>The zero key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Home">
            <xsd:annotation>
              <xsd:documentation>The home key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DoorLeft">
            <xsd:annotation>
              <xsd:documentation>The left door key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DoorRight">
            <xsd:annotation>
              <xsd:documentation>The right door key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Door">
            <xsd:annotation>
              <xsd:documentation>The door key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AddResult">
            <xsd:annotation>
              <xsd:documentation>The add result key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="LightBarrier">
            <xsd:annotation>
              <xsd:documentation>The light barrier key.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="StartAdjustmentAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IAdjustmentService.StartAdjustmentAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="AdjustmentStepInstruction" type="tns:AdjustmentStepInstruction">
                <xsd:annotation>
                  <xsd:documentation>The adjustment step instruction.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="AdjustmentResult" nillable="true" type="tns:AdjustmentResult">
                <xsd:annotation>
                  <xsd:documentation>The adjustment result.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="AdjustmentStepInstruction">
        <xsd:annotation>
          <xsd:documentation>The adjustment step instruction.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="PlaceTestWeight">
            <xsd:annotation>
              <xsd:documentation>Place the test weight on the weighing pan.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RemoveTestWeight">
            <xsd:annotation>
              <xsd:documentation>Remove the test weight from the weighing pan.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Finished">
            <xsd:annotation>
              <xsd:documentation>The adjustment is finished.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="AdjustmentResult">
        <xsd:annotation>
          <xsd:documentation>The result of the adjustment.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Unknown">
            <xsd:annotation>
              <xsd:documentation>The adjustment outcome is not known because it is not yet finished.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Done">
            <xsd:annotation>
              <xsd:documentation>The adjustment is finished.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Failed">
            <xsd:annotation>
              <xsd:documentation>The adjustment failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Canceled">
            <xsd:annotation>
              <xsd:documentation>The adjustment was canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="StartTestWithBuiltInWeightAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IRoutineTestService.StartTestWithBuiltInWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="WeightDeviation" nillable="true" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation>The weight deviation.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="FailureReason" nillable="true" type="tns:FailureReason">
                <xsd:annotation>
                  <xsd:documentation>The failure reason.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="FailureReason">
        <xsd:annotation>
          <xsd:documentation>The failure reason for automated routine tests.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Error">
            <xsd:annotation>
              <xsd:documentation>An unspecified/unknown error occurred.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Canceled">
            <xsd:annotation>
              <xsd:documentation>The execution was canceled by the user.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Timeout">
            <xsd:annotation>
              <xsd:documentation>The execution timed out.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="OutOfSpecification">
            <xsd:annotation>
              <xsd:documentation>The current weight is out of specification.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Overload">
            <xsd:annotation>
              <xsd:documentation>Error because of overload.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Underload">
            <xsd:annotation>
              <xsd:documentation>Error because of underload.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="NegativeGrossWeight">
            <xsd:annotation>
              <xsd:documentation>Error because of negative gross weight for tare.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AboveZeroRange">
            <xsd:annotation>
              <xsd:documentation>Error because of above zero range.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="BelowZeroRange">
            <xsd:annotation>
              <xsd:documentation>Error because of below zero range.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="StartRoutineTestAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IRoutineTestService.StartRoutineTestAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="TestStepInstruction" type="tns:RoutineTestStepInstruction">
                <xsd:annotation>
                  <xsd:documentation>The test step instruction.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="TestWeight" type="tns:WeightWithUnit">
                <xsd:annotation>
                  <xsd:documentation>The test weight.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="TestResult" nillable="true" type="tns:RoutineTestResult">
                <xsd:annotation>
                  <xsd:documentation>The test result.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="OutputError" nillable="true" type="tns:OutputResult">
                <xsd:annotation>
                  <xsd:documentation>The output error.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="FailureReason" nillable="true" type="tns:FailureReason">
                <xsd:annotation>
                  <xsd:documentation>The failure reason.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="RoutineTestStepInstruction">
        <xsd:annotation>
          <xsd:documentation>The step instruction for the routine test.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="RemoveWeight">
            <xsd:annotation>
              <xsd:documentation>Remove the weight from the weighing pan.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PlaceTareContainer">
            <xsd:annotation>
              <xsd:documentation>Place the tare container on the weighing pan.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PlaceWeight">
            <xsd:annotation>
              <xsd:documentation>Place the weight on the weighing pan.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Finished">
            <xsd:annotation>
              <xsd:documentation>The test is finished.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="RoutineTestResult">
        <xsd:annotation>
          <xsd:documentation>The routine test result.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Unknown">
            <xsd:annotation>
              <xsd:documentation>The test outcome is not known (yet).</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Passed">
            <xsd:annotation>
              <xsd:documentation>The test passed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PassedWithWarning">
            <xsd:annotation>
              <xsd:documentation>The test passed with a warning.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Failed">
            <xsd:annotation>
              <xsd:documentation>The test failed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Canceled">
            <xsd:annotation>
              <xsd:documentation>The test was canceled.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="GetWeightAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IWeighingService.GetWeightAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
                <xsd:annotation>
                  <xsd:documentation>The outcome.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="WeightSample" type="tns:WeightSample">
                <xsd:annotation>
                  <xsd:documentation>The weight sample.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="GetWeightRepeatedAsyncNotification">
        <xsd:annotation>
          <xsd:documentation>The asynchronous notification for the IWeighingService.GetWeightRepeatedAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:GetWeightAsyncNotification" />
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BufferOverrunEvent">
        <xsd:annotation>
          <xsd:documentation>Notifies about an overrun of the queue.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:AsynchronousNotification" />
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="EventNotificationType">
        <xsd:annotation>
          <xsd:documentation>Defines the type of the event notification.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Standby">
            <xsd:annotation>
              <xsd:documentation>The system went to standby.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="UserLoggedOut">
            <xsd:annotation>
              <xsd:documentation>The user has logged out.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SystemMemoryLow">
            <xsd:annotation>
              <xsd:documentation>The system memory is low.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SystemMemoryCritical">
            <xsd:annotation>
              <xsd:documentation>The system memory is in a critical state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AlibiMemoryLow">
            <xsd:annotation>
              <xsd:documentation>The alibi memory is low.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AlibiMemoryFull">
            <xsd:annotation>
              <xsd:documentation>The alibi memory is full.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="TareExecuted">
            <xsd:annotation>
              <xsd:documentation>The tare function was executed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ZeroExecuted">
            <xsd:annotation>
              <xsd:documentation>The zero function was executed.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ResultProtocolEntryAdded">
            <xsd:annotation>
              <xsd:documentation>A new entry was added to the result protocol.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="ResultProtocolEventNotification">
        <xsd:annotation>
          <xsd:documentation>Indicates that a registered event occurred.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:EventNotification">
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="WeighingItem" type="tns:WeighingItem">
                <xsd:annotation>
                  <xsd:documentation>The weighing item.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="ConfigureFeedRateRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IFeederService.ConfigureFeedRate request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeedRateLevel" type="tns:FeedRateLevel">
              <xsd:annotation>
                <xsd:documentation>The feed rate level.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="FeedRateLevel">
        <xsd:annotation>
          <xsd:documentation>The feed rate levels.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Level4">
            <xsd:annotation>
              <xsd:documentation>Feed rate level 4.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Level3">
            <xsd:annotation>
              <xsd:documentation>Feed rate level 3.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Level2">
            <xsd:annotation>
              <xsd:documentation>Feed rate level 2.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Level1">
            <xsd:annotation>
              <xsd:documentation>Feed rate level 1.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="ConfigureFeedRateResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IFeederService.ConfigureFeedRate request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeederAttached" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Returns 'true' if a feeder is attached.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VibrateUntilLightBarrierSignalRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IFeederService.VibrateUntilLightBarrierSignal request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VibrateUntilLightBarrierSignalResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IFeederService.VibrateUntilLightBarrierSignal request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeederAttached" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Returns 'true' if a feeder is attached.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VibrateUntilStopRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IFeederService.VibrateUntilStop request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="VibrateUntilStopResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IFeederService.VibrateUntilStop request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeederAttached" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Returns 'true' if a feeder is attached..</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DischargeRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IFeederService.Discharge request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="DischargeResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IFeederService.Discharge request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeederAttached" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Returns 'true' if a feeder is attached.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StopFeederRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IFeederService.StopFeeder request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StopFeederResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IFeederService.StopFeeder request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="FeederAttached" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Returns 'true' if a feeder is attached.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetPositionRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IDraftShieldsService.GetPosition request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DraftShieldIds" type="tns:ArrayOfDraftShieldIdentifier">
              <xsd:annotation>
                <xsd:documentation>Gets or sets one or multiple draft shield IDs.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfDraftShieldIdentifier">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DraftShieldIdentifier" type="tns:DraftShieldIdentifier" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="DraftShieldIdentifier">
        <xsd:annotation>
          <xsd:documentation>Draft shield identifiers.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="LeftOuter">
            <xsd:annotation>
              <xsd:documentation>Left outer door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RightOuter">
            <xsd:annotation>
              <xsd:documentation>Right outer door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="LeftInner">
            <xsd:annotation>
              <xsd:documentation>Left inner door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RightInner">
            <xsd:annotation>
              <xsd:documentation>Right inner door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Top">
            <xsd:annotation>
              <xsd:documentation>Top door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Radial">
            <xsd:annotation>
              <xsd:documentation>Radial door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Flap">
            <xsd:annotation>
              <xsd:documentation>Flap door.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="GetPositionResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDraftShieldsService.GetPosition request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DraftShieldsInformation" type="tns:ArrayOfDraftShieldInformation">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the get draft shield information.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfDraftShieldInformation">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DraftShieldInformation" nillable="true" type="tns:DraftShieldInformation" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DraftShieldInformation">
        <xsd:annotation>
          <xsd:documentation>Draft shield information, containing a description and the position of the draft shield.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:DraftShieldPosition">
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="Description" type="xsd:string">
                <xsd:annotation>
                  <xsd:documentation>The draft shield description, such as 'top door'.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="PositionDeterminationOutcome" type="tns:PositionDeterminationOutcome">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the outcome of the position determination of the draft shield. Note: For radial doors with intermediate PositionDeterminationOutcome, the position is not correct.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="DraftShieldPosition">
        <xsd:annotation>
          <xsd:documentation>Gets or sets the data for the position of a draft shield.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="DraftShieldId" type="tns:DraftShieldIdentifier">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the draft shield ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="OpeningWidth" type="xsd:int">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the current opening width. Radial door: 0 is closed, 100 is fully opened. Linear door: 0...100</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="OpeningSide" nillable="true" type="tns:OpeningSide">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the opening side. For doors which can open to the left and right side, the door opening side is listed.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="OpeningSide">
        <xsd:annotation>
          <xsd:documentation>The opening side of the draft shield.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="OpenRight">
            <xsd:annotation>
              <xsd:documentation>The right draft shield is open.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="OpenLeft">
            <xsd:annotation>
              <xsd:documentation>The left draft shield is open.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType name="PositionDeterminationOutcome">
        <xsd:annotation>
          <xsd:documentation>The outcome of the determination of the draft shield position.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Success">
            <xsd:annotation>
              <xsd:documentation>The draft shield was successfully determined.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Intermediate">
            <xsd:annotation>
              <xsd:documentation>The draft shield is in a moving state. Note: This state occurs only for radial draft shields.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Error">
            <xsd:annotation>
              <xsd:documentation>The draft shield is blocked or in error state.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="SetPositionRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IDraftShieldsService.SetPosition request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DraftShieldsPositions" type="tns:ArrayOfDraftShieldPosition">
              <xsd:annotation>
                <xsd:documentation>One or multiple target positions of the draft shields.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfDraftShieldPosition">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DraftShieldPosition" nillable="true" type="tns:DraftShieldPosition" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="SetPositionResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDraftShieldsService.SetPosition request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadDosingHeadRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IDosingAutomationService.ReadDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ReadDosingHeadResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDosingAutomationService.ReadDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="HeadType" type="tns:DosingHeadType">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head type.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="HeadTypeName" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head type identifier.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="HeadId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DosingHeadInfo" type="tns:DosingHeadInfo">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head info.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="DosingHeadType">
        <xsd:annotation>
          <xsd:documentation>The dosing head types.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Powder">
            <xsd:annotation>
              <xsd:documentation>The powder head type.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Liquid">
            <xsd:annotation>
              <xsd:documentation>The liquid head type.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="DosingHeadInfo">
        <xsd:annotation>
          <xsd:documentation>The common info provided in the IDosingAutomationService.ReadDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:EditableDosingHeadInfo">
            <xsd:sequence>
              <xsd:element minOccurs="0" maxOccurs="1" name="RemainingQuantity" type="tns:ValueWithUnit">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the remaining quantity. PowderDosing: in mg: 0.01 to 999'999 mg with 2 decimal places or disabled. Liquid Dosing: in g: 0.01 to 9'999 g with 2 decimal places or disabled.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="NumberOfDosages" nillable="true" type="xsd:unsignedInt">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the total number of dosages.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="RemainingDosages" nillable="true" type="xsd:unsignedInt">
                <xsd:annotation>
                  <xsd:documentation>Gets or sets the remaining dosages: dosing Limit XPR - Number of Dosages Total (if not disabled, &gt;0).</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="EditableDosingHeadInfo">
        <xsd:annotation>
          <xsd:documentation>The dosing head info provided by the IDosingAutomationService.ReadDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="SubstanceName" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the substance name (0 to 20 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="LotId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the lot id (0 to 15 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="FillingDate" nillable="true" type="xsd:dateTime">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the filling date or disabled. ISO 8601 format without time zone information 'Year-Month-DayT00:00:00'. Empty to disable.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="ExpiryDate" nillable="true" type="xsd:dateTime">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the expiry date or disabled. ISO 8601 format without time zone information 'Year-Month-DayT00:00:00'. Empty to disable.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id1Label" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 1 label (0 to 10 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id1Value" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 1 value (0 to 15 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id2Label" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 2 label (0 to 10 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id2Value" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 2 value (0 to 15 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id3Label" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 3 label (0 to 10 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Id3Value" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the ID 3 value (0 to 15 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="MolarMass" type="tns:ValueWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the molar mass in g/mol: empty or 1 to 10'000, max 5 decimal places.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Purity" type="tns:ValueWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the purity in %: empty or 0.001 to 100, max 3 decimal places.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="FilledUpQuantity" type="tns:ValueWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the filled up quantity. PowderDosing: in mg: 0.01 to 999'999 mg with 2 decimal places or disabled. Liquid Dosing: in g: 0.01 to 9'999 g with 2 decimal places or disabled.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="TappingWhileDosing" nillable="true" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the tapping while dosing on / off.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="TappingBeforeDosing" nillable="true" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the tapping before dosing on / off.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="DosingLimit" nillable="true" type="xsd:unsignedInt">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the dosing limit.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="DensityOfLiquid" type="tns:ValueWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the density of liquid: empty or 0.01 to 10 in g/ml with max 6 decimal places.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="PumpPressure" type="tns:ValueWithUnit">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the pump pressure: 0.3 to 0.5 bar in steps of 0.1 bar, Default: 0.5 bar.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="WriteDosingHeadRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IDosingAutomationService.WriteDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="HeadType" type="tns:DosingHeadType">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head type.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="HeadId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the dosing head ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DosingHeadInfo" type="tns:EditableDosingHeadInfo">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the editable dosing head info.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WriteDosingHeadResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDosingAutomationService.WriteDosingHead request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartExecuteDosingJobListAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DosingJobList" type="tns:ArrayOfDosingJob">
              <xsd:annotation>
                <xsd:documentation>The dosing job list to execute.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfDosingJob">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DosingJob" nillable="true" type="tns:DosingJob" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="StartExecuteDosingJobListAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDosingAutomationService.StartExecuteDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="JobErrors" type="tns:ArrayOfDosingJobError">
              <xsd:annotation>
                <xsd:documentation>The error details per job.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="StartDosingJobListError" nillable="true" type="tns:StartDosingJobListError">
              <xsd:annotation>
                <xsd:documentation>The start dosing job list error.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfDosingJobError">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DosingJobError" nillable="true" type="tns:DosingJobError" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DosingJobError">
        <xsd:annotation>
          <xsd:documentation>The error info provided by IDosingAutomationService.StartExecuteDosingJobListAsync response.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="DosingJob" type="tns:DosingJob">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the vial name (0 to 32 characters).</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Error" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>Gets or sets the job error.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="StartDosingJobListError">
        <xsd:annotation>
          <xsd:documentation>The start dosing job list errors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="NoAutomatedDosingTaskFound">
            <xsd:annotation>
              <xsd:documentation>No automated dosing task found.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingTaskMethodIsLocked">
            <xsd:annotation>
              <xsd:documentation>The dosing task method is locked.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="DosingPositionUndefined">
            <xsd:annotation>
              <xsd:documentation>The dosing position is undefined.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="VialDetectPositionUndefined">
            <xsd:annotation>
              <xsd:documentation>The vial detect position is undefined.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="HardwareNotSupportedByDosingAutomationService">
            <xsd:annotation>
              <xsd:documentation>Hardware not supported by dosing automation service.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:element name="ConfirmDosingJobActionRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IDosingAutomationService.ConfirmDosingJobAction request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="ExecutedDosingJobAction" type="tns:DosingJobActionType">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the executed dosing job action.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ActionItem" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>Gets or sets the confirmed dosing job action item: A) PlaceDosingHead: 'SubstanceName' B) RemoveDosingHead: - C) PlaceVial: 'VialName' D) RemoveVial: -</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ConfirmDosingJobActionResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDosingAutomationService.ConfirmDosingJobAction request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CancelCurrentDosingJobListAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IDosingAutomationService.CancelCurrentDosingJobListAsync request. If a dosing job list was cancelled a DosingAutomationFinishedAsyncNotification will be provided by the NotificationService.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CancelCurrentDosingJobListAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IDosingAutomationService.CancelCurrentDosingJobListAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BeepRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IBasicService.Beep request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="BeepResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.Beep request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetDeviceInformationRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IBasicService.GetDeviceInformation request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetDeviceInformationResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.GetDeviceInformation request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="DeviceInfo" type="tns:DeviceInfo">
              <xsd:annotation>
                <xsd:documentation>The device information.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="DeviceInfo">
        <xsd:annotation>
          <xsd:documentation>The device information.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="BalanceInfo" type="tns:BalanceInfo">
            <xsd:annotation>
              <xsd:documentation>The balance information.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="MaximumBalanceCapacity" type="xsd:decimal">
            <xsd:annotation>
              <xsd:documentation>The maximum capacity of the balance .</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Readabilities" type="tns:ArrayOfString">
            <xsd:annotation>
              <xsd:documentation>The readabilities.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TerminalKind" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The type of the terminal.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="NumberOfVerifiedLftDigits" type="tns:ArrayOfInt">
            <xsd:annotation>
              <xsd:documentation>The number of verified legal-for-trade digits.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="DraftShields" type="tns:ArrayOfDraftShield">
            <xsd:annotation>
              <xsd:documentation>The available draft shields.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Licenses" type="tns:ArrayOfString">
            <xsd:annotation>
              <xsd:documentation>The licenses.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Peripherals" type="tns:ArrayOfPeripheralInfo">
            <xsd:annotation>
              <xsd:documentation>The attached peripherals.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Modules" type="tns:ArrayOfModuleInfo">
            <xsd:annotation>
              <xsd:documentation>The attached modules.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BalanceInfo">
        <xsd:annotation>
          <xsd:documentation>The balance information.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="BalanceType" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The type of the balance.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="BalanceId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The balance identifier.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="SystemVersion" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The system version.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="BridgeSerialNumber" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The bridge serial number.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TerminalSerialNumber" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The terminal serial number.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="LoadcellId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The load cell identifier.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="BridgeTdnr" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The bridge type definition number.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="TerminalTdnr" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The terminal type definition number.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="LastService" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The date of the last maintenance.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="NextService" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The due date of the next maintenance.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="NextBatteryChange" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The due date of the next battery change.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ArrayOfInt">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="int" type="xsd:int" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ArrayOfDraftShield">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="DraftShield" nillable="true" type="tns:DraftShield" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="DraftShield">
        <xsd:annotation>
          <xsd:documentation>Contains the draft shield ID and description, such as 'top door'.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="DraftId" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The draft shield ID.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Description" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The draft shield description.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ArrayOfPeripheralInfo">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="PeripheralInfo" nillable="true" type="tns:PeripheralInfo" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="PeripheralInfo">
        <xsd:annotation>
          <xsd:documentation>Contains the peripheral type, name, and version, if available.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="PeripheralType" type="tns:PeripheralType">
            <xsd:annotation>
              <xsd:documentation>The type of the peripheral.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The name of the peripheral.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="Version" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The version, if available; otherwise 'N/A'.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:simpleType name="PeripheralType">
        <xsd:annotation>
          <xsd:documentation>The peripheral types.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Unknown">
            <xsd:annotation>
              <xsd:documentation>An unknown (and unsupported) device type.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="MtSicsClient">
            <xsd:annotation>
              <xsd:documentation>An MT-SICS client.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="PassThrough">
            <xsd:annotation>
              <xsd:documentation>A LabX-controlled device.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Printer">
            <xsd:annotation>
              <xsd:documentation>A printer.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="BarcodeScanner">
            <xsd:annotation>
              <xsd:documentation>A bar code scanner.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="FootSwitch">
            <xsd:annotation>
              <xsd:documentation>A foot switch.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="ErgoSens">
            <xsd:annotation>
              <xsd:documentation>An ErgoSens.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="AntiStaticKit">
            <xsd:annotation>
              <xsd:documentation>An anti static kit.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="RfidReader">
            <xsd:annotation>
              <xsd:documentation>An RFID reader.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Feeder">
            <xsd:annotation>
              <xsd:documentation>An automatic feeder.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="SampleChanger">
            <xsd:annotation>
              <xsd:documentation>A sample changer.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Pump">
            <xsd:annotation>
              <xsd:documentation>A pump module.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="LightBarrier">
            <xsd:annotation>
              <xsd:documentation>A light barrier.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="ArrayOfModuleInfo">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="ModuleInfo" nillable="true" type="tns:ModuleInfo" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ModuleInfo">
        <xsd:annotation>
          <xsd:documentation>Contains the module name, serial number, and firmware version.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="Name" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The name of the module.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="SerialNumber" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The serial number.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="FirmwareVersion" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The firmware version.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="WakeupFromStandbyRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IBasicService.WakeupFromStandby request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="WakeupFromStandbyResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.WakeupFromStandby request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="IsStandbyActive" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Gets a value which indicates whether the system is in standby mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GoToStandbyRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IBasicService.GoToStandby request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GoToStandbyResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.GoToStandby request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="IsStandbyActive" type="xsd:boolean">
              <xsd:annotation>
                <xsd:documentation>Gets a value indicating whether system is in standby mode.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetDateAndTimeRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IBasicService.SetDateAndTime request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="DateTime" type="xsd:dateTime">
              <xsd:annotation>
                <xsd:documentation>The date and time.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetDateAndTimeResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.SetDateAndTime request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ShowCustomTextOnDisplayRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IBasicService.ShowCustomTextOnDisplay request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Text" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The custom display text.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ShowCustomTextOnDisplayResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.ShowCustomTextOnDisplay request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearCustomTextOnDisplayRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IBasicService.ClearCustomTextOnDisplay request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="ClearCustomTextOnDisplayResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.ClearCustomTextOnDisplay request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PrintTextOnStripPrinterRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters of the IBasicService.PrintTextOnStripPrinter request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="Text" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The custom display text.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="PrintTextOnStripPrinterResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.PrintTextOnStripPrinter request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="RegisterForEventsRequest">
        <xsd:annotation>
          <xsd:documentation>Contains the parameters for the IBasicService.RegisterForEvents request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="EventTypes" type="tns:EventTypes">
              <xsd:annotation>
                <xsd:documentation>The event types. If EventTypes is set to 'None', then the system stops sending any events. If EventTypes is not 'None', then it can be one or multiple of the Basic.EventTypes enumeration. The events can be retrieved with INotificationService.GetNotifications.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="EventTypes">
        <xsd:annotation>
          <xsd:documentation>Defines for which cases an event (notification) is sent.</xsd:documentation>
        </xsd:annotation>
        <xsd:list>
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="None">
                <xsd:annotation>
                  <xsd:documentation>Stops sending events.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Standby">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when the system goes to standby mode.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="UserLoggedOut">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when a user has logged out.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="ZeroExecuted">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when the Zero function was successfully executed.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="TareExecuted">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when the Tare function was successfully executed.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="ResultProtocolEntryAdded">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when a result protocol entry was added.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="SystemMemory">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when the system memory is low or critical.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="AlibiMemory">
                <xsd:annotation>
                  <xsd:documentation>Sends an event when the alibi memory is low or full.</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:list>
      </xsd:simpleType>
      <xsd:element name="RegisterForEventsResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IBasicService.RegisterForEvents request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LoginUserRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IAuthenticationService.LoginUser request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="LoginCredentials" type="tns:LoginCredentials">
              <xsd:annotation>
                <xsd:documentation>The login credentials.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="LoginCredentials">
        <xsd:annotation>
          <xsd:documentation>The login credentials.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="1" name="EncryptedPassword" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The encrypted password. The session ID is used as salt to encrypt the user password.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="0" maxOccurs="1" name="UserName" type="xsd:string">
            <xsd:annotation>
              <xsd:documentation>The user name. Note: The administrator user name is internally translated.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="LoginUserResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IAuthenticationService.LoginUser request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LogoutUserRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IAuthenticationService.LogoutUser request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LogoutUserResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IAuthenticationService.LogoutUser request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetAdjustmentStrategyRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IAdjustmentService.GetAdjustmentStrategy request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetAdjustmentStrategyResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IAdjustmentService.GetAdjustmentStrategy request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="AdjustmentType" type="tns:AdjustmentType">
              <xsd:annotation>
                <xsd:documentation>The type of adjustment.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="InternalAdjustmentConfiguration" type="tns:InternalAdjustmentConfiguration">
              <xsd:annotation>
                <xsd:documentation>The internal adjustment configuration.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ExternalAdjustmentConfiguration" type="tns:ExternalAdjustmentConfiguration">
              <xsd:annotation>
                <xsd:documentation>The external adjustment configuration.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:simpleType name="AdjustmentType">
        <xsd:annotation>
          <xsd:documentation>The type of adjustment.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="None">
            <xsd:annotation>
              <xsd:documentation>No adjustment.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="Internal">
            <xsd:annotation>
              <xsd:documentation>Internal adjustment.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
          <xsd:enumeration value="External">
            <xsd:annotation>
              <xsd:documentation>External adjustment.</xsd:documentation>
            </xsd:annotation>
          </xsd:enumeration>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:complexType name="InternalAdjustmentConfiguration">
        <xsd:annotation>
          <xsd:documentation>The internal adjustment configuration.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:BaseAdjustmentConfiguration">
            <xsd:sequence>
              <xsd:element minOccurs="1" maxOccurs="1" name="AsFoundActive" type="xsd:boolean">
                <xsd:annotation>
                  <xsd:documentation>A value indicating whether the 'As found' test is active. At the start of the adjustment sequence, an internal test (sensitivity) is performed to ascertain the current status. The input test has automatically started when the adjustment sequence is activated and the result is displayed and recorded.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="AsLeftActive" type="xsd:boolean">
                <xsd:annotation>
                  <xsd:documentation>A value indicating whether the 'As left' test is active. When the adjustment is complete, an internal test (sensitivity) is performed.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="StartAfterLeveling" type="xsd:boolean">
                <xsd:annotation>
                  <xsd:documentation>A value indicating whether to start the adjustment after leveling.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="StartAfterTemperatureChange" type="xsd:boolean">
                <xsd:annotation>
                  <xsd:documentation>A value indicating whether to start the adjustment after a temperature change.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="StartTime1" type="xsd:duration">
                <xsd:annotation>
                  <xsd:documentation>Start time 1 as string</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="StartTime2" type="xsd:duration">
                <xsd:annotation>
                  <xsd:documentation>Start time 2 as string</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="0" maxOccurs="1" name="StartTime3" type="xsd:duration">
                <xsd:annotation>
                  <xsd:documentation>Start time 3 as string</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="Weekdays" type="tns:SchedulingWeekdays">
                <xsd:annotation>
                  <xsd:documentation>The day(s) of the week on which the adjustment is to be started.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="WarnLimit" nillable="true" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation>The warning limit.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="WarnLimitUnit" type="tns:Unit">
                <xsd:annotation>
                  <xsd:documentation>The warning limit unit.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="ErrorLimit" type="xsd:decimal">
                <xsd:annotation>
                  <xsd:documentation>The error limit value.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element minOccurs="1" maxOccurs="1" name="ErrorLimitUnit" type="tns:Unit">
                <xsd:annotation>
                  <xsd:documentation>The error limit unit.</xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="BaseAdjustmentConfiguration">
        <xsd:annotation>
          <xsd:documentation>The base class for the adjustment configuration.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="AdjustmentType" type="tns:AdjustmentType">
            <xsd:annotation>
              <xsd:documentation>The adjustment type.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="BlockOnError" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>A value indicating whether the balance will switch to 'Blocked' state. Cause: The adjustment was not performed or was performed with an error. The balance has to be unblocked by a user who has the corresponding rights.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element minOccurs="1" maxOccurs="1" name="ShouldPrintToStrip" type="xsd:boolean">
            <xsd:annotation>
              <xsd:documentation>A value indicating whether adjustment results will be printed on a strip printer.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ExternalAdjustmentConfiguration">
        <xsd:annotation>
          <xsd:documentation>The external adjustment configuration.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent mixed="false">
          <xsd:extension base="tns:BaseAdjustmentConfiguration" />
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:simpleType name="SchedulingWeekdays">
        <xsd:annotation>
          <xsd:documentation>The days of the week for scheduling.</xsd:documentation>
        </xsd:annotation>
        <xsd:list>
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="None">
                <xsd:annotation>
                  <xsd:documentation>None</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Monday">
                <xsd:annotation>
                  <xsd:documentation>Monday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Tuesday">
                <xsd:annotation>
                  <xsd:documentation>Tuesday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Wednesday">
                <xsd:annotation>
                  <xsd:documentation>Wednesday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Thursday">
                <xsd:annotation>
                  <xsd:documentation>Thursday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Friday">
                <xsd:annotation>
                  <xsd:documentation>Friday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Saturday">
                <xsd:annotation>
                  <xsd:documentation>Saturday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
              <xsd:enumeration value="Sunday">
                <xsd:annotation>
                  <xsd:documentation>Sunday</xsd:documentation>
                </xsd:annotation>
              </xsd:enumeration>
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:list>
      </xsd:simpleType>
      <xsd:element name="SetAdjustmentStrategyRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IAdjustmentService.GetAdjustmentStrategy request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="AdjustmentType" type="tns:AdjustmentType">
              <xsd:annotation>
                <xsd:documentation>The type of adjustment.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="InternalAdjustmentConfiguration" type="tns:InternalAdjustmentConfiguration">
              <xsd:annotation>
                <xsd:documentation>The internal adjustment configuration.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ExternalAdjustmentConfiguration" type="tns:ExternalAdjustmentConfiguration">
              <xsd:annotation>
                <xsd:documentation>The external adjustment configuration.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="SetAdjustmentStrategyResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IAdjustmentService.SetAdjustmentStrategy request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartAdjustmentAsyncRequest">
        <xsd:annotation>
          <xsd:documentation>The parameters for the IAdjustmentService.StartAdjustmentAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="0" maxOccurs="1" name="SessionId" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The session ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="TestWeight" type="tns:WeightWithUnit">
              <xsd:annotation>
                <xsd:documentation>The test weight. Empty for internal adjustment.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="StartAdjustmentAsyncResponse">
        <xsd:annotation>
          <xsd:documentation>The response to the IAdjustmentService.StartAdjustmentAsync request.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:Outcome">
              <xsd:annotation>
                <xsd:documentation>The outcome of the request.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="0" maxOccurs="1" name="ErrorMessage" type="xsd:string">
              <xsd:annotation>
                <xsd:documentation>The optional error message in case of an error outcome.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element minOccurs="1" maxOccurs="1" name="CommandId" type="xsd:int">
              <xsd:annotation>
                <xsd:documentation>The command ID.</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
    <xsd:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
      <xsd:simpleType name="guid">
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="OpenSessionRequest">
    <wsdl:part name="parameters" element="tns:OpenSessionRequest" />
  </wsdl:message>
  <wsdl:message name="OpenSessionResponse">
    <wsdl:part name="parameters" element="tns:OpenSessionResponse" />
  </wsdl:message>
  <wsdl:message name="CloseSessionRequest">
    <wsdl:part name="parameters" element="tns:CloseSessionRequest" />
  </wsdl:message>
  <wsdl:message name="CloseSessionResponse">
    <wsdl:part name="parameters" element="tns:CloseSessionResponse" />
  </wsdl:message>
  <wsdl:message name="ISessionService_CloseSession_SessionIdFaultFault_FaultMessage">
    <wsdl:part name="detail" element="tns:SessionIdFault" />
  </wsdl:message>
  <wsdl:message name="CancelRequest">
    <wsdl:part name="parameters" element="tns:CancelRequest" />
  </wsdl:message>
  <wsdl:message name="CancelResponse">
    <wsdl:part name="parameters" element="tns:CancelResponse" />
  </wsdl:message>
  <wsdl:message name="ISessionService_Cancel_SessionIdFaultFault_FaultMessage">
    <wsdl:part name="detail" element="tns:SessionIdFault" />
  </wsdl:message>
  <wsdl:message name="GetWeightRepeatedAsyncRequest">
    <wsdl:part name="parameters" element="tns:GetWeightRepeatedAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="GetWeightRepeatedAsyncResponse">
    <wsdl:part name="parameters" element="tns:GetWeightRepeatedAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="GetWeightAsyncRequest">
    <wsdl:part name="parameters" element="tns:GetWeightAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="GetWeightAsyncResponse">
    <wsdl:part name="parameters" element="tns:GetWeightAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="GetWeightRequest">
    <wsdl:part name="parameters" element="tns:GetWeightRequest" />
  </wsdl:message>
  <wsdl:message name="GetWeightResponse">
    <wsdl:part name="parameters" element="tns:GetWeightResponse" />
  </wsdl:message>
  <wsdl:message name="ZeroRequest">
    <wsdl:part name="parameters" element="tns:ZeroRequest" />
  </wsdl:message>
  <wsdl:message name="ZeroResponse">
    <wsdl:part name="parameters" element="tns:ZeroResponse" />
  </wsdl:message>
  <wsdl:message name="TareRequest">
    <wsdl:part name="parameters" element="tns:TareRequest" />
  </wsdl:message>
  <wsdl:message name="TareResponse">
    <wsdl:part name="parameters" element="tns:TareResponse" />
  </wsdl:message>
  <wsdl:message name="SetPretareValueRequest">
    <wsdl:part name="parameters" element="tns:SetPretareValueRequest" />
  </wsdl:message>
  <wsdl:message name="SetPretareValueResponse">
    <wsdl:part name="parameters" element="tns:SetPretareValueResponse" />
  </wsdl:message>
  <wsdl:message name="ClearPretareValueRequest">
    <wsdl:part name="parameters" element="tns:ClearPretareValueRequest" />
  </wsdl:message>
  <wsdl:message name="ClearPretareValueResponse">
    <wsdl:part name="parameters" element="tns:ClearPretareValueResponse" />
  </wsdl:message>
  <wsdl:message name="GetListOfMethodsRequest">
    <wsdl:part name="parameters" element="tns:GetListOfMethodsRequest" />
  </wsdl:message>
  <wsdl:message name="GetListOfMethodsResponse">
    <wsdl:part name="parameters" element="tns:GetListOfMethodsResponse" />
  </wsdl:message>
  <wsdl:message name="StartTaskRequest">
    <wsdl:part name="parameters" element="tns:StartTaskRequest" />
  </wsdl:message>
  <wsdl:message name="StartTaskResponse">
    <wsdl:part name="parameters" element="tns:StartTaskResponse" />
  </wsdl:message>
  <wsdl:message name="CancelCurrentTaskRequest">
    <wsdl:part name="parameters" element="tns:CancelCurrentTaskRequest" />
  </wsdl:message>
  <wsdl:message name="CancelCurrentTaskResponse">
    <wsdl:part name="parameters" element="tns:CancelCurrentTaskResponse" />
  </wsdl:message>
  <wsdl:message name="CompleteCurrentTaskRequest">
    <wsdl:part name="parameters" element="tns:CompleteCurrentTaskRequest" />
  </wsdl:message>
  <wsdl:message name="CompleteCurrentTaskResponse">
    <wsdl:part name="parameters" element="tns:CompleteCurrentTaskResponse" />
  </wsdl:message>
  <wsdl:message name="ResumeTaskRequest">
    <wsdl:part name="parameters" element="tns:ResumeTaskRequest" />
  </wsdl:message>
  <wsdl:message name="ResumeTaskResponse">
    <wsdl:part name="parameters" element="tns:ResumeTaskResponse" />
  </wsdl:message>
  <wsdl:message name="GetTargetValueAndTolerancesRequest">
    <wsdl:part name="parameters" element="tns:GetTargetValueAndTolerancesRequest" />
  </wsdl:message>
  <wsdl:message name="GetTargetValueAndTolerancesResponse">
    <wsdl:part name="parameters" element="tns:GetTargetValueAndTolerancesResponse" />
  </wsdl:message>
  <wsdl:message name="SetTargetValueAndTolerancesRequest">
    <wsdl:part name="parameters" element="tns:SetTargetValueAndTolerancesRequest" />
  </wsdl:message>
  <wsdl:message name="SetTargetValueAndTolerancesResponse">
    <wsdl:part name="parameters" element="tns:SetTargetValueAndTolerancesResponse" />
  </wsdl:message>
  <wsdl:message name="ClearTargetValueAndTolerancesRequest">
    <wsdl:part name="parameters" element="tns:ClearTargetValueAndTolerancesRequest" />
  </wsdl:message>
  <wsdl:message name="ClearTargetValueAndTolerancesResponse">
    <wsdl:part name="parameters" element="tns:ClearTargetValueAndTolerancesResponse" />
  </wsdl:message>
  <wsdl:message name="GetTaskAndResultIdsRequest">
    <wsdl:part name="parameters" element="tns:GetTaskAndResultIdsRequest" />
  </wsdl:message>
  <wsdl:message name="GetTaskAndResultIdsResponse">
    <wsdl:part name="parameters" element="tns:GetTaskAndResultIdsResponse" />
  </wsdl:message>
  <wsdl:message name="SetTaskAndResultIdsRequest">
    <wsdl:part name="parameters" element="tns:SetTaskAndResultIdsRequest" />
  </wsdl:message>
  <wsdl:message name="SetTaskAndResultIdsResponse">
    <wsdl:part name="parameters" element="tns:SetTaskAndResultIdsResponse" />
  </wsdl:message>
  <wsdl:message name="SetUnitRequest">
    <wsdl:part name="parameters" element="tns:SetUnitRequest" />
  </wsdl:message>
  <wsdl:message name="SetUnitResponse">
    <wsdl:part name="parameters" element="tns:SetUnitResponse" />
  </wsdl:message>
  <wsdl:message name="AddToProtocolRequest">
    <wsdl:part name="parameters" element="tns:AddToProtocolRequest" />
  </wsdl:message>
  <wsdl:message name="AddToProtocolResponse">
    <wsdl:part name="parameters" element="tns:AddToProtocolResponse" />
  </wsdl:message>
  <wsdl:message name="SetActiveWeighingItemRequest">
    <wsdl:part name="parameters" element="tns:SetActiveWeighingItemRequest" />
  </wsdl:message>
  <wsdl:message name="SetActiveWeighingItemResponse">
    <wsdl:part name="parameters" element="tns:SetActiveWeighingItemResponse" />
  </wsdl:message>
  <wsdl:message name="GetWeighingItemsRequest">
    <wsdl:part name="parameters" element="tns:GetWeighingItemsRequest" />
  </wsdl:message>
  <wsdl:message name="GetWeighingItemsResponse">
    <wsdl:part name="parameters" element="tns:GetWeighingItemsResponse" />
  </wsdl:message>
  <wsdl:message name="ForwardBarcodeScannerInputAsyncRequest">
    <wsdl:part name="parameters" element="tns:ForwardBarcodeScannerInputAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="ForwardBarcodeScannerInputAsyncResponse">
    <wsdl:part name="parameters" element="tns:ForwardBarcodeScannerInputAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="RedirectUiKeyPressEventsAsyncRequest">
    <wsdl:part name="parameters" element="tns:RedirectUiKeyPressEventsAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="RedirectUiKeyPressEventsAsyncResponse">
    <wsdl:part name="parameters" element="tns:RedirectUiKeyPressEventsAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="SetUserInteractionOnUiRequest">
    <wsdl:part name="parameters" element="tns:SetUserInteractionOnUiRequest" />
  </wsdl:message>
  <wsdl:message name="SetUserInteractionOnUiResponse">
    <wsdl:part name="parameters" element="tns:SetUserInteractionOnUiResponse" />
  </wsdl:message>
  <wsdl:message name="GetListOfProfilesRequest">
    <wsdl:part name="parameters" element="tns:GetListOfProfilesRequest" />
  </wsdl:message>
  <wsdl:message name="GetListOfProfilesResponse">
    <wsdl:part name="parameters" element="tns:GetListOfProfilesResponse" />
  </wsdl:message>
  <wsdl:message name="GetActiveProfileRequest">
    <wsdl:part name="parameters" element="tns:GetActiveProfileRequest" />
  </wsdl:message>
  <wsdl:message name="GetActiveProfileResponse">
    <wsdl:part name="parameters" element="tns:GetActiveProfileResponse" />
  </wsdl:message>
  <wsdl:message name="SetActiveProfileRequest">
    <wsdl:part name="parameters" element="tns:SetActiveProfileRequest" />
  </wsdl:message>
  <wsdl:message name="SetActiveProfileResponse">
    <wsdl:part name="parameters" element="tns:SetActiveProfileResponse" />
  </wsdl:message>
  <wsdl:message name="GetSettingsRequest">
    <wsdl:part name="parameters" element="tns:GetSettingsRequest" />
  </wsdl:message>
  <wsdl:message name="GetSettingsResponse">
    <wsdl:part name="parameters" element="tns:GetSettingsResponse" />
  </wsdl:message>
  <wsdl:message name="GetListOfRoutineTestsRequest">
    <wsdl:part name="parameters" element="tns:GetListOfRoutineTestsRequest" />
  </wsdl:message>
  <wsdl:message name="GetListOfRoutineTestsResponse">
    <wsdl:part name="parameters" element="tns:GetListOfRoutineTestsResponse" />
  </wsdl:message>
  <wsdl:message name="StartRoutineTestAsyncRequest">
    <wsdl:part name="parameters" element="tns:StartRoutineTestAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="StartRoutineTestAsyncResponse">
    <wsdl:part name="parameters" element="tns:StartRoutineTestAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="StartTestWithBuiltInWeightAsyncRequest">
    <wsdl:part name="parameters" element="tns:StartTestWithBuiltInWeightAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="StartTestWithBuiltInWeightAsyncResponse">
    <wsdl:part name="parameters" element="tns:StartTestWithBuiltInWeightAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="GetNotificationsRequest">
    <wsdl:part name="parameters" element="tns:GetNotificationsRequest" />
  </wsdl:message>
  <wsdl:message name="GetNotificationsResponse">
    <wsdl:part name="parameters" element="tns:GetNotificationsResponse" />
  </wsdl:message>
  <wsdl:message name="ConfigureFeedRateRequest">
    <wsdl:part name="parameters" element="tns:ConfigureFeedRateRequest" />
  </wsdl:message>
  <wsdl:message name="ConfigureFeedRateResponse">
    <wsdl:part name="parameters" element="tns:ConfigureFeedRateResponse" />
  </wsdl:message>
  <wsdl:message name="VibrateUntilLightBarrierSignalRequest">
    <wsdl:part name="parameters" element="tns:VibrateUntilLightBarrierSignalRequest" />
  </wsdl:message>
  <wsdl:message name="VibrateUntilLightBarrierSignalResponse">
    <wsdl:part name="parameters" element="tns:VibrateUntilLightBarrierSignalResponse" />
  </wsdl:message>
  <wsdl:message name="VibrateUntilStopRequest">
    <wsdl:part name="parameters" element="tns:VibrateUntilStopRequest" />
  </wsdl:message>
  <wsdl:message name="VibrateUntilStopResponse">
    <wsdl:part name="parameters" element="tns:VibrateUntilStopResponse" />
  </wsdl:message>
  <wsdl:message name="DischargeRequest">
    <wsdl:part name="parameters" element="tns:DischargeRequest" />
  </wsdl:message>
  <wsdl:message name="DischargeResponse">
    <wsdl:part name="parameters" element="tns:DischargeResponse" />
  </wsdl:message>
  <wsdl:message name="StopFeederRequest">
    <wsdl:part name="parameters" element="tns:StopFeederRequest" />
  </wsdl:message>
  <wsdl:message name="StopFeederResponse">
    <wsdl:part name="parameters" element="tns:StopFeederResponse" />
  </wsdl:message>
  <wsdl:message name="GetPositionRequest">
    <wsdl:part name="parameters" element="tns:GetPositionRequest" />
  </wsdl:message>
  <wsdl:message name="GetPositionResponse">
    <wsdl:part name="parameters" element="tns:GetPositionResponse" />
  </wsdl:message>
  <wsdl:message name="SetPositionRequest">
    <wsdl:part name="parameters" element="tns:SetPositionRequest" />
  </wsdl:message>
  <wsdl:message name="SetPositionResponse">
    <wsdl:part name="parameters" element="tns:SetPositionResponse" />
  </wsdl:message>
  <wsdl:message name="ReadDosingHeadRequest">
    <wsdl:part name="parameters" element="tns:ReadDosingHeadRequest" />
  </wsdl:message>
  <wsdl:message name="ReadDosingHeadResponse">
    <wsdl:part name="parameters" element="tns:ReadDosingHeadResponse" />
  </wsdl:message>
  <wsdl:message name="WriteDosingHeadRequest">
    <wsdl:part name="parameters" element="tns:WriteDosingHeadRequest" />
  </wsdl:message>
  <wsdl:message name="WriteDosingHeadResponse">
    <wsdl:part name="parameters" element="tns:WriteDosingHeadResponse" />
  </wsdl:message>
  <wsdl:message name="StartExecuteDosingJobListAsyncRequest">
    <wsdl:part name="parameters" element="tns:StartExecuteDosingJobListAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="StartExecuteDosingJobListAsyncResponse">
    <wsdl:part name="parameters" element="tns:StartExecuteDosingJobListAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="ConfirmDosingJobActionRequest">
    <wsdl:part name="parameters" element="tns:ConfirmDosingJobActionRequest" />
  </wsdl:message>
  <wsdl:message name="ConfirmDosingJobActionResponse">
    <wsdl:part name="parameters" element="tns:ConfirmDosingJobActionResponse" />
  </wsdl:message>
  <wsdl:message name="CancelCurrentDosingJobListAsyncRequest">
    <wsdl:part name="parameters" element="tns:CancelCurrentDosingJobListAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="CancelCurrentDosingJobListAsyncResponse">
    <wsdl:part name="parameters" element="tns:CancelCurrentDosingJobListAsyncResponse" />
  </wsdl:message>
  <wsdl:message name="BeepRequest">
    <wsdl:part name="parameters" element="tns:BeepRequest" />
  </wsdl:message>
  <wsdl:message name="BeepResponse">
    <wsdl:part name="parameters" element="tns:BeepResponse" />
  </wsdl:message>
  <wsdl:message name="GetDeviceInformationRequest">
    <wsdl:part name="parameters" element="tns:GetDeviceInformationRequest" />
  </wsdl:message>
  <wsdl:message name="GetDeviceInformationResponse">
    <wsdl:part name="parameters" element="tns:GetDeviceInformationResponse" />
  </wsdl:message>
  <wsdl:message name="WakeupFromStandbyRequest">
    <wsdl:part name="parameters" element="tns:WakeupFromStandbyRequest" />
  </wsdl:message>
  <wsdl:message name="WakeupFromStandbyResponse">
    <wsdl:part name="parameters" element="tns:WakeupFromStandbyResponse" />
  </wsdl:message>
  <wsdl:message name="GoToStandbyRequest">
    <wsdl:part name="parameters" element="tns:GoToStandbyRequest" />
  </wsdl:message>
  <wsdl:message name="GoToStandbyResponse">
    <wsdl:part name="parameters" element="tns:GoToStandbyResponse" />
  </wsdl:message>
  <wsdl:message name="SetDateAndTimeRequest">
    <wsdl:part name="parameters" element="tns:SetDateAndTimeRequest" />
  </wsdl:message>
  <wsdl:message name="SetDateAndTimeResponse">
    <wsdl:part name="parameters" element="tns:SetDateAndTimeResponse" />
  </wsdl:message>
  <wsdl:message name="ShowCustomTextOnDisplayRequest">
    <wsdl:part name="parameters" element="tns:ShowCustomTextOnDisplayRequest" />
  </wsdl:message>
  <wsdl:message name="ShowCustomTextOnDisplayResponse">
    <wsdl:part name="parameters" element="tns:ShowCustomTextOnDisplayResponse" />
  </wsdl:message>
  <wsdl:message name="ClearCustomTextOnDisplayRequest">
    <wsdl:part name="parameters" element="tns:ClearCustomTextOnDisplayRequest" />
  </wsdl:message>
  <wsdl:message name="ClearCustomTextOnDisplayResponse">
    <wsdl:part name="parameters" element="tns:ClearCustomTextOnDisplayResponse" />
  </wsdl:message>
  <wsdl:message name="PrintTextOnStripPrinterRequest">
    <wsdl:part name="parameters" element="tns:PrintTextOnStripPrinterRequest" />
  </wsdl:message>
  <wsdl:message name="PrintTextOnStripPrinterResponse">
    <wsdl:part name="parameters" element="tns:PrintTextOnStripPrinterResponse" />
  </wsdl:message>
  <wsdl:message name="RegisterForEventsRequest">
    <wsdl:part name="parameters" element="tns:RegisterForEventsRequest" />
  </wsdl:message>
  <wsdl:message name="RegisterForEventsResponse">
    <wsdl:part name="parameters" element="tns:RegisterForEventsResponse" />
  </wsdl:message>
  <wsdl:message name="LoginUserRequest">
    <wsdl:part name="parameters" element="tns:LoginUserRequest" />
  </wsdl:message>
  <wsdl:message name="LoginUserResponse">
    <wsdl:part name="parameters" element="tns:LoginUserResponse" />
  </wsdl:message>
  <wsdl:message name="LogoutUserRequest">
    <wsdl:part name="parameters" element="tns:LogoutUserRequest" />
  </wsdl:message>
  <wsdl:message name="LogoutUserResponse">
    <wsdl:part name="parameters" element="tns:LogoutUserResponse" />
  </wsdl:message>
  <wsdl:message name="GetAdjustmentStrategyRequest">
    <wsdl:part name="parameters" element="tns:GetAdjustmentStrategyRequest" />
  </wsdl:message>
  <wsdl:message name="GetAdjustmentStrategyResponse">
    <wsdl:part name="parameters" element="tns:GetAdjustmentStrategyResponse" />
  </wsdl:message>
  <wsdl:message name="SetAdjustmentStrategyRequest">
    <wsdl:part name="parameters" element="tns:SetAdjustmentStrategyRequest" />
  </wsdl:message>
  <wsdl:message name="SetAdjustmentStrategyResponse">
    <wsdl:part name="parameters" element="tns:SetAdjustmentStrategyResponse" />
  </wsdl:message>
  <wsdl:message name="StartAdjustmentAsyncRequest">
    <wsdl:part name="parameters" element="tns:StartAdjustmentAsyncRequest" />
  </wsdl:message>
  <wsdl:message name="StartAdjustmentAsyncResponse">
    <wsdl:part name="parameters" element="tns:StartAdjustmentAsyncResponse" />
  </wsdl:message>
  <wsdl:portType name="ISessionService">
    <wsdl:operation name="OpenSession">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Opens a new session.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="OpenSession" name="OpenSessionRequest" message="tns:OpenSessionRequest" />
      <wsdl:output wsaw:Action="" name="OpenSessionResponse" message="tns:OpenSessionResponse" />
    </wsdl:operation>
    <wsdl:operation name="CloseSession">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Closes the specified session.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="CloseSession" name="CloseSessionRequest" message="tns:CloseSessionRequest" />
      <wsdl:output wsaw:Action="" name="CloseSessionResponse" message="tns:CloseSessionResponse" />
      <wsdl:fault wsaw:Action="http://MT/Laboratory/Balance/XprXsr/V03/ISessionService/CloseSessionSessionIdFaultFault" name="SessionIdFaultFault" message="tns:ISessionService_CloseSession_SessionIdFaultFault_FaultMessage" />
    </wsdl:operation>
    <wsdl:operation name="Cancel">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Cancels pending requests.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="Cancel" name="CancelRequest" message="tns:CancelRequest" />
      <wsdl:output wsaw:Action="" name="CancelResponse" message="tns:CancelResponse" />
      <wsdl:fault wsaw:Action="http://MT/Laboratory/Balance/XprXsr/V03/ISessionService/CancelSessionIdFaultFault" name="SessionIdFaultFault" message="tns:ISessionService_Cancel_SessionIdFaultFault_FaultMessage" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IWeighingService">
    <wsdl:operation name="GetWeightRepeatedAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Retrieves weight values until the GetWeight request is canceled. The values can be retrieved with INotificationService.GetNotifications.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetWeightRepeatedAsync" name="GetWeightRepeatedAsyncRequest" message="tns:GetWeightRepeatedAsyncRequest" />
      <wsdl:output wsaw:Action="" name="GetWeightRepeatedAsyncResponse" message="tns:GetWeightRepeatedAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetWeightAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Retrieves one weight value. The value can be retrieved with INotificationService.GetNotifications.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetWeightAsync" name="GetWeightAsyncRequest" message="tns:GetWeightAsyncRequest" />
      <wsdl:output wsaw:Action="" name="GetWeightAsyncResponse" message="tns:GetWeightAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetWeight">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Retrieves one weight value. The weight is returned within the response.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetWeight" name="GetWeightRequest" message="tns:GetWeightRequest" />
      <wsdl:output wsaw:Action="" name="GetWeightResponse" message="tns:GetWeightResponse" />
    </wsdl:operation>
    <wsdl:operation name="Zero">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Zeroes the weighing device.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="Zero" name="ZeroRequest" message="tns:ZeroRequest" />
      <wsdl:output wsaw:Action="" name="ZeroResponse" message="tns:ZeroResponse" />
    </wsdl:operation>
    <wsdl:operation name="Tare">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Tares the weighing device.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="Tare" name="TareRequest" message="tns:TareRequest" />
      <wsdl:output wsaw:Action="" name="TareResponse" message="tns:TareResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetPretareValue">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the pretare value.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetPretareValue" name="SetPretareValueRequest" message="tns:SetPretareValueRequest" />
      <wsdl:output wsaw:Action="" name="SetPretareValueResponse" message="tns:SetPretareValueResponse" />
    </wsdl:operation>
    <wsdl:operation name="ClearPretareValue">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Clears the pretare value.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ClearPretareValue" name="ClearPretareValueRequest" message="tns:ClearPretareValueRequest" />
      <wsdl:output wsaw:Action="" name="ClearPretareValueResponse" message="tns:ClearPretareValueResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IWeighingTaskService">
    <wsdl:operation name="GetListOfMethods">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets a list of the configured methods.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetListOfMethods" name="GetListOfMethodsRequest" message="tns:GetListOfMethodsRequest" />
      <wsdl:output wsaw:Action="" name="GetListOfMethodsResponse" message="tns:GetListOfMethodsResponse" />
    </wsdl:operation>
    <wsdl:operation name="StartTask">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Starts a new task for the specified method.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StartTask" name="StartTaskRequest" message="tns:StartTaskRequest" />
      <wsdl:output wsaw:Action="" name="StartTaskResponse" message="tns:StartTaskResponse" />
    </wsdl:operation>
    <wsdl:operation name="CancelCurrentTask">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Cancels the current task.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="CancelCurrentTask" name="CancelCurrentTaskRequest" message="tns:CancelCurrentTaskRequest" />
      <wsdl:output wsaw:Action="" name="CancelCurrentTaskResponse" message="tns:CancelCurrentTaskResponse" />
    </wsdl:operation>
    <wsdl:operation name="CompleteCurrentTask">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Completes the current task. The command may fail because of one or multiple of the following errors. 1. If output to printer (strip / label) is configured: 1.1. The printer is off-line. 1.2 No strip printer is configured. 1.3 No label printer is configured. 1.4 No office printer is configured. 1.5 No label printer template is configured. 1.6 Unknown printer error. 2. If protocol export to USB is configured: 2.1 No USB devices found. 2.2 Multiple USB devices found. 2.3 Not enough memory. 2.4 Unknown export error. 2.5 File server connection error.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="CompleteCurrentTask" name="CompleteCurrentTaskRequest" message="tns:CompleteCurrentTaskRequest" />
      <wsdl:output wsaw:Action="" name="CompleteCurrentTaskResponse" message="tns:CompleteCurrentTaskResponse" />
    </wsdl:operation>
    <wsdl:operation name="ResumeTask">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Resumes the task.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ResumeTask" name="ResumeTaskRequest" message="tns:ResumeTaskRequest" />
      <wsdl:output wsaw:Action="" name="ResumeTaskResponse" message="tns:ResumeTaskResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetTargetValueAndTolerances">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the target weight and tolerances.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetTargetValueAndTolerances" name="GetTargetValueAndTolerancesRequest" message="tns:GetTargetValueAndTolerancesRequest" />
      <wsdl:output wsaw:Action="" name="GetTargetValueAndTolerancesResponse" message="tns:GetTargetValueAndTolerancesResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetTargetValueAndTolerances">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the target weight and tolerances.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetTargetValueAndTolerances" name="SetTargetValueAndTolerancesRequest" message="tns:SetTargetValueAndTolerancesRequest" />
      <wsdl:output wsaw:Action="" name="SetTargetValueAndTolerancesResponse" message="tns:SetTargetValueAndTolerancesResponse" />
    </wsdl:operation>
    <wsdl:operation name="ClearTargetValueAndTolerances">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Clears the target weight and tolerances.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ClearTargetValueAndTolerances" name="ClearTargetValueAndTolerancesRequest" message="tns:ClearTargetValueAndTolerancesRequest" />
      <wsdl:output wsaw:Action="" name="ClearTargetValueAndTolerancesResponse" message="tns:ClearTargetValueAndTolerancesResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetTaskAndResultIds">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the task and result ID(s).</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetTaskAndResultIds" name="GetTaskAndResultIdsRequest" message="tns:GetTaskAndResultIdsRequest" />
      <wsdl:output wsaw:Action="" name="GetTaskAndResultIdsResponse" message="tns:GetTaskAndResultIdsResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetTaskAndResultIds">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the task and result ID(s).</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetTaskAndResultIds" name="SetTaskAndResultIdsRequest" message="tns:SetTaskAndResultIdsRequest" />
      <wsdl:output wsaw:Action="" name="SetTaskAndResultIdsResponse" message="tns:SetTaskAndResultIdsResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetUnit">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the display and info unit.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetUnit" name="SetUnitRequest" message="tns:SetUnitRequest" />
      <wsdl:output wsaw:Action="" name="SetUnitResponse" message="tns:SetUnitResponse" />
    </wsdl:operation>
    <wsdl:operation name="AddToProtocol">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Adds to protocol: 1. The weight value in the display unit (net, gross, and tare, if available, pretare: yes / no. 2. Stable / instable. 3. The alibi ID, if available. 4. The result and task ID(s), if available. 5. The result state.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="AddToProtocol" name="AddToProtocolRequest" message="tns:AddToProtocolRequest" />
      <wsdl:output wsaw:Action="" name="AddToProtocolResponse" message="tns:AddToProtocolResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetActiveWeighingItem">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the active weighing item.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetActiveWeighingItem" name="SetActiveWeighingItemRequest" message="tns:SetActiveWeighingItemRequest" />
      <wsdl:output wsaw:Action="" name="SetActiveWeighingItemResponse" message="tns:SetActiveWeighingItemResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetWeighingItems">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the weighing items.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetWeighingItems" name="GetWeighingItemsRequest" message="tns:GetWeighingItemsRequest" />
      <wsdl:output wsaw:Action="" name="GetWeighingItemsResponse" message="tns:GetWeighingItemsResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IUserInteractionService">
    <wsdl:operation name="ForwardBarcodeScannerInputAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Forwards the barcode scanner input asynchronously. The barcode notifications can be retrieved with INotificationService.GetNotifications.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ForwardBarcodeScannerInputAsync" name="ForwardBarcodeScannerInputAsyncRequest" message="tns:ForwardBarcodeScannerInputAsyncRequest" />
      <wsdl:output wsaw:Action="" name="ForwardBarcodeScannerInputAsyncResponse" message="tns:ForwardBarcodeScannerInputAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="RedirectUiKeyPressEventsAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Redirects UI key press events asynchronously. The UI key press notifications can be retrieved with INotificationService.GetNotifications.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="RedirectUiKeyPressEventsAsync" name="RedirectUiKeyPressEventsAsyncRequest" message="tns:RedirectUiKeyPressEventsAsyncRequest" />
      <wsdl:output wsaw:Action="" name="RedirectUiKeyPressEventsAsyncResponse" message="tns:RedirectUiKeyPressEventsAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetUserInteractionOnUi">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Enables or disables the user interaction with the terminal.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetUserInteractionOnUi" name="SetUserInteractionOnUiRequest" message="tns:SetUserInteractionOnUiRequest" />
      <wsdl:output wsaw:Action="" name="SetUserInteractionOnUiResponse" message="tns:SetUserInteractionOnUiResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IToleranceProfileService">
    <wsdl:operation name="GetListOfProfiles">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets a list of the configured tolerance profiles.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetListOfProfiles" name="GetListOfProfilesRequest" message="tns:GetListOfProfilesRequest" />
      <wsdl:output wsaw:Action="" name="GetListOfProfilesResponse" message="tns:GetListOfProfilesResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetActiveProfile">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the tolerance profile of the currently active task and its method.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetActiveProfile" name="GetActiveProfileRequest" message="tns:GetActiveProfileRequest" />
      <wsdl:output wsaw:Action="" name="GetActiveProfileResponse" message="tns:GetActiveProfileResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetActiveProfile">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the tolerance profile for the currently active task and its method.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetActiveProfile" name="SetActiveProfileRequest" message="tns:SetActiveProfileRequest" />
      <wsdl:output wsaw:Action="" name="SetActiveProfileResponse" message="tns:SetActiveProfileResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetSettings">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the settings of the specified tolerance profile.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetSettings" name="GetSettingsRequest" message="tns:GetSettingsRequest" />
      <wsdl:output wsaw:Action="" name="GetSettingsResponse" message="tns:GetSettingsResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IRoutineTestService">
    <wsdl:operation name="GetListOfRoutineTests">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets a list of the configured routine tests.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetListOfRoutineTests" name="GetListOfRoutineTestsRequest" message="tns:GetListOfRoutineTestsRequest" />
      <wsdl:output wsaw:Action="" name="GetListOfRoutineTestsResponse" message="tns:GetListOfRoutineTestsResponse" />
    </wsdl:operation>
    <wsdl:operation name="StartRoutineTestAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Starts the specified routine test.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StartRoutineTestAsync" name="StartRoutineTestAsyncRequest" message="tns:StartRoutineTestAsyncRequest" />
      <wsdl:output wsaw:Action="" name="StartRoutineTestAsyncResponse" message="tns:StartRoutineTestAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="StartTestWithBuiltInWeightAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Starts a sensitivity test with one test point and a built-in weight.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StartTestWithBuiltInWeightAsync" name="StartTestWithBuiltInWeightAsyncRequest" message="tns:StartTestWithBuiltInWeightAsyncRequest" />
      <wsdl:output wsaw:Action="" name="StartTestWithBuiltInWeightAsyncResponse" message="tns:StartTestWithBuiltInWeightAsyncResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="INotificationService">
    <wsdl:operation name="GetNotifications">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Retrieves all available notifications.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetNotifications" name="GetNotificationsRequest" message="tns:GetNotificationsRequest" />
      <wsdl:output wsaw:Action="" name="GetNotificationsResponse" message="tns:GetNotificationsResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IFeederService">
    <wsdl:operation name="ConfigureFeedRate">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the feed rate.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ConfigureFeedRate" name="ConfigureFeedRateRequest" message="tns:ConfigureFeedRateRequest" />
      <wsdl:output wsaw:Action="" name="ConfigureFeedRateResponse" message="tns:ConfigureFeedRateResponse" />
    </wsdl:operation>
    <wsdl:operation name="VibrateUntilLightBarrierSignal">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Vibrates until light barrier signal.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="VibrateUntilLightBarrierSignal" name="VibrateUntilLightBarrierSignalRequest" message="tns:VibrateUntilLightBarrierSignalRequest" />
      <wsdl:output wsaw:Action="" name="VibrateUntilLightBarrierSignalResponse" message="tns:VibrateUntilLightBarrierSignalResponse" />
    </wsdl:operation>
    <wsdl:operation name="VibrateUntilStop">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Vibrates until stop is requested.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="VibrateUntilStop" name="VibrateUntilStopRequest" message="tns:VibrateUntilStopRequest" />
      <wsdl:output wsaw:Action="" name="VibrateUntilStopResponse" message="tns:VibrateUntilStopResponse" />
    </wsdl:operation>
    <wsdl:operation name="Discharge">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Discharges the feeder.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="Discharge" name="DischargeRequest" message="tns:DischargeRequest" />
      <wsdl:output wsaw:Action="" name="DischargeResponse" message="tns:DischargeResponse" />
    </wsdl:operation>
    <wsdl:operation name="StopFeeder">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Stops the feeder.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StopFeeder" name="StopFeederRequest" message="tns:StopFeederRequest" />
      <wsdl:output wsaw:Action="" name="StopFeederResponse" message="tns:StopFeederResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IDraftShieldsService">
    <wsdl:operation name="GetPosition">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the position(s) of the draft shield(s).</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetPosition" name="GetPositionRequest" message="tns:GetPositionRequest" />
      <wsdl:output wsaw:Action="" name="GetPositionResponse" message="tns:GetPositionResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetPosition">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the position(s) of the draft shield(s).</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetPosition" name="SetPositionRequest" message="tns:SetPositionRequest" />
      <wsdl:output wsaw:Action="" name="SetPositionResponse" message="tns:SetPositionResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IDosingAutomationService">
    <wsdl:operation name="ReadDosingHead">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Reads the dosing head information.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ReadDosingHead" name="ReadDosingHeadRequest" message="tns:ReadDosingHeadRequest" />
      <wsdl:output wsaw:Action="" name="ReadDosingHeadResponse" message="tns:ReadDosingHeadResponse" />
    </wsdl:operation>
    <wsdl:operation name="WriteDosingHead">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Writes the dosing head information.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="WriteDosingHead" name="WriteDosingHeadRequest" message="tns:WriteDosingHeadRequest" />
      <wsdl:output wsaw:Action="" name="WriteDosingHeadResponse" message="tns:WriteDosingHeadResponse" />
    </wsdl:operation>
    <wsdl:operation name="StartExecuteDosingJobListAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Starts the specified dosing job list execution.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StartExecuteDosingJobListAsync" name="StartExecuteDosingJobListAsyncRequest" message="tns:StartExecuteDosingJobListAsyncRequest" />
      <wsdl:output wsaw:Action="" name="StartExecuteDosingJobListAsyncResponse" message="tns:StartExecuteDosingJobListAsyncResponse" />
    </wsdl:operation>
    <wsdl:operation name="ConfirmDosingJobAction">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Confirms the execution of a dosing job action.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ConfirmDosingJobAction" name="ConfirmDosingJobActionRequest" message="tns:ConfirmDosingJobActionRequest" />
      <wsdl:output wsaw:Action="" name="ConfirmDosingJobActionResponse" message="tns:ConfirmDosingJobActionResponse" />
    </wsdl:operation>
    <wsdl:operation name="CancelCurrentDosingJobListAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Cancels the current dosing job list execution.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="CancelCurrentDosingJobListAsync" name="CancelCurrentDosingJobListAsyncRequest" message="tns:CancelCurrentDosingJobListAsyncRequest" />
      <wsdl:output wsaw:Action="" name="CancelCurrentDosingJobListAsyncResponse" message="tns:CancelCurrentDosingJobListAsyncResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IBasicService">
    <wsdl:operation name="Beep">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Beeps with medium volume (default) for 200 milliseconds.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="Beep" name="BeepRequest" message="tns:BeepRequest" />
      <wsdl:output wsaw:Action="" name="BeepResponse" message="tns:BeepResponse" />
    </wsdl:operation>
    <wsdl:operation name="GetDeviceInformation">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets device information.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetDeviceInformation" name="GetDeviceInformationRequest" message="tns:GetDeviceInformationRequest" />
      <wsdl:output wsaw:Action="" name="GetDeviceInformationResponse" message="tns:GetDeviceInformationResponse" />
    </wsdl:operation>
    <wsdl:operation name="WakeupFromStandby">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Wakes the balance from standby mode.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="WakeupFromStandby" name="WakeupFromStandbyRequest" message="tns:WakeupFromStandbyRequest" />
      <wsdl:output wsaw:Action="" name="WakeupFromStandbyResponse" message="tns:WakeupFromStandbyResponse" />
    </wsdl:operation>
    <wsdl:operation name="GoToStandby">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Activates the standby mode on the balance. This operation will time out in the following situations: 1. LabX mode is active. 2. Firmware update is running. 3. Adjustment or routine test is running.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GoToStandby" name="GoToStandbyRequest" message="tns:GoToStandbyRequest" />
      <wsdl:output wsaw:Action="" name="GoToStandbyResponse" message="tns:GoToStandbyResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetDateAndTime">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets date and / or time on the balance, interpreted as local time.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetDateAndTime" name="SetDateAndTimeRequest" message="tns:SetDateAndTimeRequest" />
      <wsdl:output wsaw:Action="" name="SetDateAndTimeResponse" message="tns:SetDateAndTimeResponse" />
    </wsdl:operation>
    <wsdl:operation name="ShowCustomTextOnDisplay">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Shows custom text on the display.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ShowCustomTextOnDisplay" name="ShowCustomTextOnDisplayRequest" message="tns:ShowCustomTextOnDisplayRequest" />
      <wsdl:output wsaw:Action="" name="ShowCustomTextOnDisplayResponse" message="tns:ShowCustomTextOnDisplayResponse" />
    </wsdl:operation>
    <wsdl:operation name="ClearCustomTextOnDisplay">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Clears the custom text on the display.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="ClearCustomTextOnDisplay" name="ClearCustomTextOnDisplayRequest" message="tns:ClearCustomTextOnDisplayRequest" />
      <wsdl:output wsaw:Action="" name="ClearCustomTextOnDisplayResponse" message="tns:ClearCustomTextOnDisplayResponse" />
    </wsdl:operation>
    <wsdl:operation name="PrintTextOnStripPrinter">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Prints text on a strip printer.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="PrintTextOnStripPrinter" name="PrintTextOnStripPrinterRequest" message="tns:PrintTextOnStripPrinterRequest" />
      <wsdl:output wsaw:Action="" name="PrintTextOnStripPrinterResponse" message="tns:PrintTextOnStripPrinterResponse" />
    </wsdl:operation>
    <wsdl:operation name="RegisterForEvents">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Listens for the following events and sends asynchronous notifications if they occur: 1. The system goes to standby. 2. The user logs out. 3. The Zero or Tare function was executed. 4. A new or updated entry in the result protocol. 5. The alibi memory is low or full. 6. The system memory is low.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="RegisterForEvents" name="RegisterForEventsRequest" message="tns:RegisterForEventsRequest" />
      <wsdl:output wsaw:Action="" name="RegisterForEventsResponse" message="tns:RegisterForEventsResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IAuthenticationService">
    <wsdl:operation name="LoginUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Logs the user in.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="LoginUser" name="LoginUserRequest" message="tns:LoginUserRequest" />
      <wsdl:output wsaw:Action="" name="LoginUserResponse" message="tns:LoginUserResponse" />
    </wsdl:operation>
    <wsdl:operation name="LogoutUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Requests the user's logout.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="LogoutUser" name="LogoutUserRequest" message="tns:LogoutUserRequest" />
      <wsdl:output wsaw:Action="" name="LogoutUserResponse" message="tns:LogoutUserResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="IAdjustmentService">
    <wsdl:operation name="GetAdjustmentStrategy">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Gets the adjustment strategy, including settings.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="GetAdjustmentStrategy" name="GetAdjustmentStrategyRequest" message="tns:GetAdjustmentStrategyRequest" />
      <wsdl:output wsaw:Action="" name="GetAdjustmentStrategyResponse" message="tns:GetAdjustmentStrategyResponse" />
    </wsdl:operation>
    <wsdl:operation name="SetAdjustmentStrategy">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Sets the adjustment strategy, including settings.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="SetAdjustmentStrategy" name="SetAdjustmentStrategyRequest" message="tns:SetAdjustmentStrategyRequest" />
      <wsdl:output wsaw:Action="" name="SetAdjustmentStrategyResponse" message="tns:SetAdjustmentStrategyResponse" />
    </wsdl:operation>
    <wsdl:operation name="StartAdjustmentAsync">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
        <summary>Starts the internal / external adjustment asynchronously.</summary>
      </wsdl:documentation>
      <wsdl:input wsaw:Action="StartAdjustmentAsync" name="StartAdjustmentAsyncRequest" message="tns:StartAdjustmentAsyncRequest" />
      <wsdl:output wsaw:Action="" name="StartAdjustmentAsyncResponse" message="tns:StartAdjustmentAsyncResponse" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="BasicHttpBinding_ISessionService" type="tns:ISessionService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="OpenSession">
      <soap:operation soapAction="OpenSession" style="document" />
      <wsdl:input name="OpenSessionRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="OpenSessionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CloseSession">
      <soap:operation soapAction="CloseSession" style="document" />
      <wsdl:input name="CloseSessionRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="CloseSessionResponse">
        <soap:body use="literal" />
      </wsdl:output>
      <wsdl:fault name="SessionIdFaultFault">
        <soap:fault name="SessionIdFaultFault" use="literal" />
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="Cancel">
      <soap:operation soapAction="Cancel" style="document" />
      <wsdl:input name="CancelRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="CancelResponse">
        <soap:body use="literal" />
      </wsdl:output>
      <wsdl:fault name="SessionIdFaultFault">
        <soap:fault name="SessionIdFaultFault" use="literal" />
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IWeighingService" type="tns:IWeighingService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetWeightRepeatedAsync">
      <soap:operation soapAction="GetWeightRepeatedAsync" style="document" />
      <wsdl:input name="GetWeightRepeatedAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetWeightRepeatedAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWeightAsync">
      <soap:operation soapAction="GetWeightAsync" style="document" />
      <wsdl:input name="GetWeightAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetWeightAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWeight">
      <soap:operation soapAction="GetWeight" style="document" />
      <wsdl:input name="GetWeightRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetWeightResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Zero">
      <soap:operation soapAction="Zero" style="document" />
      <wsdl:input name="ZeroRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ZeroResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Tare">
      <soap:operation soapAction="Tare" style="document" />
      <wsdl:input name="TareRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="TareResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetPretareValue">
      <soap:operation soapAction="SetPretareValue" style="document" />
      <wsdl:input name="SetPretareValueRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetPretareValueResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ClearPretareValue">
      <soap:operation soapAction="ClearPretareValue" style="document" />
      <wsdl:input name="ClearPretareValueRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ClearPretareValueResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IWeighingTaskService" type="tns:IWeighingTaskService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetListOfMethods">
      <soap:operation soapAction="GetListOfMethods" style="document" />
      <wsdl:input name="GetListOfMethodsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetListOfMethodsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StartTask">
      <soap:operation soapAction="StartTask" style="document" />
      <wsdl:input name="StartTaskRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StartTaskResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelCurrentTask">
      <soap:operation soapAction="CancelCurrentTask" style="document" />
      <wsdl:input name="CancelCurrentTaskRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="CancelCurrentTaskResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CompleteCurrentTask">
      <soap:operation soapAction="CompleteCurrentTask" style="document" />
      <wsdl:input name="CompleteCurrentTaskRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="CompleteCurrentTaskResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ResumeTask">
      <soap:operation soapAction="ResumeTask" style="document" />
      <wsdl:input name="ResumeTaskRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ResumeTaskResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTargetValueAndTolerances">
      <soap:operation soapAction="GetTargetValueAndTolerances" style="document" />
      <wsdl:input name="GetTargetValueAndTolerancesRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetTargetValueAndTolerancesResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetTargetValueAndTolerances">
      <soap:operation soapAction="SetTargetValueAndTolerances" style="document" />
      <wsdl:input name="SetTargetValueAndTolerancesRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetTargetValueAndTolerancesResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ClearTargetValueAndTolerances">
      <soap:operation soapAction="ClearTargetValueAndTolerances" style="document" />
      <wsdl:input name="ClearTargetValueAndTolerancesRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ClearTargetValueAndTolerancesResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetTaskAndResultIds">
      <soap:operation soapAction="GetTaskAndResultIds" style="document" />
      <wsdl:input name="GetTaskAndResultIdsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetTaskAndResultIdsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetTaskAndResultIds">
      <soap:operation soapAction="SetTaskAndResultIds" style="document" />
      <wsdl:input name="SetTaskAndResultIdsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetTaskAndResultIdsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetUnit">
      <soap:operation soapAction="SetUnit" style="document" />
      <wsdl:input name="SetUnitRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetUnitResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddToProtocol">
      <soap:operation soapAction="AddToProtocol" style="document" />
      <wsdl:input name="AddToProtocolRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="AddToProtocolResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetActiveWeighingItem">
      <soap:operation soapAction="SetActiveWeighingItem" style="document" />
      <wsdl:input name="SetActiveWeighingItemRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetActiveWeighingItemResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetWeighingItems">
      <soap:operation soapAction="GetWeighingItems" style="document" />
      <wsdl:input name="GetWeighingItemsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetWeighingItemsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IUserInteractionService" type="tns:IUserInteractionService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="ForwardBarcodeScannerInputAsync">
      <soap:operation soapAction="ForwardBarcodeScannerInputAsync" style="document" />
      <wsdl:input name="ForwardBarcodeScannerInputAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ForwardBarcodeScannerInputAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RedirectUiKeyPressEventsAsync">
      <soap:operation soapAction="RedirectUiKeyPressEventsAsync" style="document" />
      <wsdl:input name="RedirectUiKeyPressEventsAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="RedirectUiKeyPressEventsAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetUserInteractionOnUi">
      <soap:operation soapAction="SetUserInteractionOnUi" style="document" />
      <wsdl:input name="SetUserInteractionOnUiRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetUserInteractionOnUiResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IToleranceProfileService" type="tns:IToleranceProfileService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetListOfProfiles">
      <soap:operation soapAction="GetListOfProfiles" style="document" />
      <wsdl:input name="GetListOfProfilesRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetListOfProfilesResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetActiveProfile">
      <soap:operation soapAction="GetActiveProfile" style="document" />
      <wsdl:input name="GetActiveProfileRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetActiveProfileResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetActiveProfile">
      <soap:operation soapAction="SetActiveProfile" style="document" />
      <wsdl:input name="SetActiveProfileRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetActiveProfileResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetSettings">
      <soap:operation soapAction="GetSettings" style="document" />
      <wsdl:input name="GetSettingsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetSettingsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IRoutineTestService" type="tns:IRoutineTestService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetListOfRoutineTests">
      <soap:operation soapAction="GetListOfRoutineTests" style="document" />
      <wsdl:input name="GetListOfRoutineTestsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetListOfRoutineTestsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StartRoutineTestAsync">
      <soap:operation soapAction="StartRoutineTestAsync" style="document" />
      <wsdl:input name="StartRoutineTestAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StartRoutineTestAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StartTestWithBuiltInWeightAsync">
      <soap:operation soapAction="StartTestWithBuiltInWeightAsync" style="document" />
      <wsdl:input name="StartTestWithBuiltInWeightAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StartTestWithBuiltInWeightAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_INotificationService" type="tns:INotificationService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetNotifications">
      <soap:operation soapAction="GetNotifications" style="document" />
      <wsdl:input name="GetNotificationsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetNotificationsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IFeederService" type="tns:IFeederService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="ConfigureFeedRate">
      <soap:operation soapAction="ConfigureFeedRate" style="document" />
      <wsdl:input name="ConfigureFeedRateRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ConfigureFeedRateResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="VibrateUntilLightBarrierSignal">
      <soap:operation soapAction="VibrateUntilLightBarrierSignal" style="document" />
      <wsdl:input name="VibrateUntilLightBarrierSignalRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="VibrateUntilLightBarrierSignalResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="VibrateUntilStop">
      <soap:operation soapAction="VibrateUntilStop" style="document" />
      <wsdl:input name="VibrateUntilStopRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="VibrateUntilStopResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Discharge">
      <soap:operation soapAction="Discharge" style="document" />
      <wsdl:input name="DischargeRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="DischargeResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StopFeeder">
      <soap:operation soapAction="StopFeeder" style="document" />
      <wsdl:input name="StopFeederRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StopFeederResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IDraftShieldsService" type="tns:IDraftShieldsService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetPosition">
      <soap:operation soapAction="GetPosition" style="document" />
      <wsdl:input name="GetPositionRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetPositionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetPosition">
      <soap:operation soapAction="SetPosition" style="document" />
      <wsdl:input name="SetPositionRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetPositionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IDosingAutomationService" type="tns:IDosingAutomationService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="ReadDosingHead">
      <soap:operation soapAction="ReadDosingHead" style="document" />
      <wsdl:input name="ReadDosingHeadRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ReadDosingHeadResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="WriteDosingHead">
      <soap:operation soapAction="WriteDosingHead" style="document" />
      <wsdl:input name="WriteDosingHeadRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="WriteDosingHeadResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StartExecuteDosingJobListAsync">
      <soap:operation soapAction="StartExecuteDosingJobListAsync" style="document" />
      <wsdl:input name="StartExecuteDosingJobListAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StartExecuteDosingJobListAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConfirmDosingJobAction">
      <soap:operation soapAction="ConfirmDosingJobAction" style="document" />
      <wsdl:input name="ConfirmDosingJobActionRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ConfirmDosingJobActionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelCurrentDosingJobListAsync">
      <soap:operation soapAction="CancelCurrentDosingJobListAsync" style="document" />
      <wsdl:input name="CancelCurrentDosingJobListAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="CancelCurrentDosingJobListAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IBasicService" type="tns:IBasicService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Beep">
      <soap:operation soapAction="Beep" style="document" />
      <wsdl:input name="BeepRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="BeepResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetDeviceInformation">
      <soap:operation soapAction="GetDeviceInformation" style="document" />
      <wsdl:input name="GetDeviceInformationRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetDeviceInformationResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="WakeupFromStandby">
      <soap:operation soapAction="WakeupFromStandby" style="document" />
      <wsdl:input name="WakeupFromStandbyRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="WakeupFromStandbyResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GoToStandby">
      <soap:operation soapAction="GoToStandby" style="document" />
      <wsdl:input name="GoToStandbyRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GoToStandbyResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetDateAndTime">
      <soap:operation soapAction="SetDateAndTime" style="document" />
      <wsdl:input name="SetDateAndTimeRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetDateAndTimeResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ShowCustomTextOnDisplay">
      <soap:operation soapAction="ShowCustomTextOnDisplay" style="document" />
      <wsdl:input name="ShowCustomTextOnDisplayRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ShowCustomTextOnDisplayResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ClearCustomTextOnDisplay">
      <soap:operation soapAction="ClearCustomTextOnDisplay" style="document" />
      <wsdl:input name="ClearCustomTextOnDisplayRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="ClearCustomTextOnDisplayResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="PrintTextOnStripPrinter">
      <soap:operation soapAction="PrintTextOnStripPrinter" style="document" />
      <wsdl:input name="PrintTextOnStripPrinterRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="PrintTextOnStripPrinterResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RegisterForEvents">
      <soap:operation soapAction="RegisterForEvents" style="document" />
      <wsdl:input name="RegisterForEventsRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="RegisterForEventsResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IAuthenticationService" type="tns:IAuthenticationService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="LoginUser">
      <soap:operation soapAction="LoginUser" style="document" />
      <wsdl:input name="LoginUserRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="LoginUserResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="LogoutUser">
      <soap:operation soapAction="LogoutUser" style="document" />
      <wsdl:input name="LogoutUserRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="LogoutUserResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="BasicHttpBinding_IAdjustmentService" type="tns:IAdjustmentService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetAdjustmentStrategy">
      <soap:operation soapAction="GetAdjustmentStrategy" style="document" />
      <wsdl:input name="GetAdjustmentStrategyRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="GetAdjustmentStrategyResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SetAdjustmentStrategy">
      <soap:operation soapAction="SetAdjustmentStrategy" style="document" />
      <wsdl:input name="SetAdjustmentStrategyRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="SetAdjustmentStrategyResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="StartAdjustmentAsync">
      <soap:operation soapAction="StartAdjustmentAsync" style="document" />
      <wsdl:input name="StartAdjustmentAsyncRequest">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="StartAdjustmentAsyncResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Service">
    {% for service in services %}
        <wsdl:port binding="{{ service }}" name="{{ service }}">
            <soap:address location="http://{{ host }}:{{ port }}/{{ api_path }}" />
        </wsdl:port>
    {% endfor %}
  </wsdl:service>
</wsdl:definitions>