##################################################
# OpcXmlDaSrv_services_server.py
#      Generated by ZSI.generate.wsdl2dispatch.ServiceModuleWriter
#
##################################################

from OpcXmlDaSrv_services import *
from ZSI.ServiceContainer import ServiceSOAPBinding

class OpcXmlDaSrv(ServiceSOAPBinding):
    soapAction = {}
    root = {}
    _wsdl = """<?xml version=\"1.0\" ?>
<wsdl:definitions targetNamespace=\"http://opcfoundation.org/webservices/XMLDA/1.0/\" xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:tns=\"http://opcfoundation.org/webservices/XMLDA/1.0/\" xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">
  <wsdl:types>
    <s:schema elementFormDefault=\"qualified\" targetNamespace=\"http://opcfoundation.org/webservices/XMLDA/1.0/\">
      <s:element name=\"GetProperties\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"ItemIDs\" type=\"tns:ItemIdentifier\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"PropertyNames\" type=\"s:QName\"/>
          </s:sequence>
          <s:attribute name=\"LocaleID\" type=\"s:string\"/>
          <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
          <s:attribute name=\"ItemPath\" type=\"s:string\"/>
          <s:attribute default=\"false\" name=\"ReturnAllProperties\" type=\"s:boolean\"/>
          <s:attribute default=\"false\" name=\"ReturnPropertyValues\" type=\"s:boolean\"/>
          <s:attribute default=\"false\" name=\"ReturnErrorText\" type=\"s:boolean\"/>
        </s:complexType>
      </s:element>
      <s:complexType name=\"ItemIdentifier\">
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
      </s:complexType>
      <s:element name=\"GetPropertiesResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"GetPropertiesResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"PropertyLists\" type=\"tns:PropertyReplyList\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name=\"ReplyBase\">
        <s:attribute name=\"RcvTime\" type=\"s:dateTime\" use=\"required\"/>
        <s:attribute name=\"ReplyTime\" type=\"s:dateTime\" use=\"required\"/>
        <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
        <s:attribute name=\"RevisedLocaleID\" type=\"s:string\"/>
        <s:attribute name=\"ServerState\" type=\"tns:serverState\" use=\"required\"/>
      </s:complexType>
      <s:simpleType name=\"serverState\">
        <s:restriction base=\"s:string\">
          <s:enumeration value=\"running\"/>
          <s:enumeration value=\"failed\"/>
          <s:enumeration value=\"noConfig\"/>
          <s:enumeration value=\"suspended\"/>
          <s:enumeration value=\"test\"/>
          <s:enumeration value=\"commFault\"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name=\"PropertyReplyList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Properties\" type=\"tns:ItemProperty\"/>
        </s:sequence>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"ResultID\" type=\"s:QName\" use=\"required\"/>
      </s:complexType>
      <s:complexType name=\"ItemProperty\">
        <s:sequence>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Value\"/>
        </s:sequence>
        <s:attribute name=\"Name\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"Description\" type=\"s:string\"/>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"ResultID\" type=\"s:QName\" use=\"required\"/>
      </s:complexType>
      <s:complexType name=\"OPCError\">
        <s:sequence>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Text\" type=\"s:string\"/>
        </s:sequence>
        <s:attribute name=\"ID\" type=\"s:QName\" use=\"required\"/>
      </s:complexType>
      <s:complexType name=\"ArrayOfDouble\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"double\" type=\"s:double\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfUnsignedShort\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"unsignedShort\" type=\"s:unsignedShort\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfDateTime\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"dateTime\" type=\"s:dateTime\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfAnyType\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"anyType\" nillable=\"true\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfDecimal\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"decimal\" type=\"s:decimal\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfByte\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"byte\" type=\"s:byte\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfShort\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"short\" type=\"s:short\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfBoolean\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"boolean\" type=\"s:boolean\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfString\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"string\" nillable=\"true\" type=\"s:string\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfFloat\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"float\" type=\"s:float\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfInt\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"int\" type=\"s:int\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfUnsignedInt\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"unsignedInt\" type=\"s:unsignedInt\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfLong\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"long\" type=\"s:long\"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name=\"ArrayOfUnsignedLong\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"unsignedLong\" type=\"s:unsignedLong\"/>
        </s:sequence>
      </s:complexType>
      <s:element name=\"Subscribe\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Options\" type=\"tns:RequestOptions\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"ItemList\" type=\"tns:SubscribeRequestItemList\"/>
          </s:sequence>
          <s:attribute name=\"ReturnValuesOnReply\" type=\"s:boolean\" use=\"required\"/>
          <s:attribute default=\"0\" name=\"SubscriptionPingRate\" type=\"s:int\"/>
        </s:complexType>
      </s:element>
      <s:complexType name=\"RequestOptions\">
        <s:attribute default=\"true\" name=\"ReturnErrorText\" type=\"s:boolean\"/>
        <s:attribute default=\"false\" name=\"ReturnDiagnosticInfo\" type=\"s:boolean\"/>
        <s:attribute default=\"false\" name=\"ReturnItemTime\" type=\"s:boolean\"/>
        <s:attribute default=\"false\" name=\"ReturnItemPath\" type=\"s:boolean\"/>
        <s:attribute default=\"false\" name=\"ReturnItemName\" type=\"s:boolean\"/>
        <s:attribute name=\"RequestDeadline\" type=\"s:dateTime\"/>
        <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
        <s:attribute name=\"LocaleID\" type=\"s:string\"/>
      </s:complexType>
      <s:complexType name=\"SubscribeRequestItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:SubscribeRequestItem\"/>
        </s:sequence>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ReqType\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"Deadband\" type=\"s:float\"/>
        <s:attribute name=\"RequestedSamplingRate\" type=\"s:int\"/>
        <s:attribute name=\"EnableBuffering\" type=\"s:boolean\"/>
      </s:complexType>
      <s:complexType name=\"SubscribeRequestItem\">
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ReqType\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"ClientItemHandle\" type=\"s:string\"/>
        <s:attribute name=\"Deadband\" type=\"s:float\"/>
        <s:attribute name=\"RequestedSamplingRate\" type=\"s:int\"/>
        <s:attribute name=\"EnableBuffering\" type=\"s:boolean\"/>
      </s:complexType>
      <s:complexType name=\"SubscribeReplyItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:SubscribeItemValue\"/>
        </s:sequence>
        <s:attribute name=\"RevisedSamplingRate\" type=\"s:int\"/>
      </s:complexType>
      <s:complexType name=\"SubscribeItemValue\">
        <s:sequence>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"ItemValue\" type=\"tns:ItemValue\"/>
        </s:sequence>
        <s:attribute name=\"RevisedSamplingRate\" type=\"s:int\"/>
      </s:complexType>
      <s:complexType name=\"ItemValue\">
        <s:sequence>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"DiagnosticInfo\" type=\"s:string\"/>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Value\"/>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Quality\" type=\"tns:OPCQuality\"/>
        </s:sequence>
        <s:attribute name=\"ValueTypeQualifier\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"ClientItemHandle\" type=\"s:string\"/>
        <s:attribute name=\"Timestamp\" type=\"s:dateTime\"/>
        <s:attribute name=\"ResultID\" type=\"s:QName\" use=\"required\"/>
      </s:complexType>
      <s:complexType name=\"OPCQuality\">
        <s:attribute default=\"good\" name=\"QualityField\" type=\"tns:qualityBits\"/>
        <s:attribute default=\"none\" name=\"LimitField\" type=\"tns:limitBits\"/>
        <s:attribute default=\"0\" name=\"VendorField\" type=\"s:unsignedByte\"/>
      </s:complexType>
      <s:simpleType name=\"qualityBits\">
        <s:restriction base=\"s:string\">
          <s:enumeration value=\"bad\"/>
          <s:enumeration value=\"badConfigurationError\"/>
          <s:enumeration value=\"badNotConnected\"/>
          <s:enumeration value=\"badDeviceFailure\"/>
          <s:enumeration value=\"badSensorFailure\"/>
          <s:enumeration value=\"badLastKnownValue\"/>
          <s:enumeration value=\"badCommFailure\"/>
          <s:enumeration value=\"badOutOfService\"/>
          <s:enumeration value=\"badWaitingForInitialData\"/>
          <s:enumeration value=\"uncertain\"/>
          <s:enumeration value=\"uncertainLastUsableValue\"/>
          <s:enumeration value=\"uncertainSensorNotAccurate\"/>
          <s:enumeration value=\"uncertainEUExceeded\"/>
          <s:enumeration value=\"uncertainSubNormal\"/>
          <s:enumeration value=\"good\"/>
          <s:enumeration value=\"goodLocalOverride\"/>
        </s:restriction>
      </s:simpleType>
      <s:simpleType name=\"limitBits\">
        <s:restriction base=\"s:string\">
          <s:enumeration value=\"none\"/>
          <s:enumeration value=\"low\"/>
          <s:enumeration value=\"high\"/>
          <s:enumeration value=\"constant\"/>
        </s:restriction>
      </s:simpleType>
      <s:element name=\"SubscribeResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"SubscribeResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"RItemList\" type=\"tns:SubscribeReplyItemList\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
          <s:attribute name=\"ServerSubHandle\" type=\"s:string\"/>
        </s:complexType>
      </s:element>
      <s:element name=\"SubscriptionPolledRefresh\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Options\" type=\"tns:RequestOptions\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"ServerSubHandles\" type=\"s:string\"/>
          </s:sequence>
          <s:attribute name=\"HoldTime\" type=\"s:dateTime\"/>
          <s:attribute default=\"0\" name=\"WaitTime\" type=\"s:int\"/>
          <s:attribute default=\"false\" name=\"ReturnAllItems\" type=\"s:boolean\"/>
        </s:complexType>
      </s:element>
      <s:complexType name=\"SubscribePolledRefreshReplyItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:ItemValue\"/>
        </s:sequence>
        <s:attribute name=\"SubscriptionHandle\" type=\"s:string\"/>
      </s:complexType>
      <s:element name=\"SubscriptionPolledRefreshResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"SubscriptionPolledRefreshResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"InvalidServerSubHandles\" type=\"s:string\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"RItemList\" type=\"tns:SubscribePolledRefreshReplyItemList\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
          <s:attribute default=\"false\" name=\"DataBufferOverflow\" type=\"s:boolean\"/>
        </s:complexType>
      </s:element>
      <s:element name=\"SubscriptionCancel\">
        <s:complexType>
          <s:attribute name=\"ServerSubHandle\" type=\"s:string\"/>
          <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
        </s:complexType>
      </s:element>
      <s:element name=\"SubscriptionCancelResponse\">
        <s:complexType>
          <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
        </s:complexType>
      </s:element>
      <s:element name=\"GetStatus\">
        <s:complexType>
          <s:attribute name=\"LocaleID\" type=\"s:string\"/>
          <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
        </s:complexType>
      </s:element>
      <s:complexType name=\"ServerStatus\">
        <s:sequence>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"StatusInfo\" type=\"s:string\"/>
          <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"VendorInfo\" type=\"s:string\"/>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"SupportedLocaleIDs\" type=\"s:string\"/>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"SupportedInterfaceVersions\" type=\"tns:interfaceVersion\"/>
        </s:sequence>
        <s:attribute name=\"StartTime\" type=\"s:dateTime\" use=\"required\"/>
        <s:attribute name=\"ProductVersion\" type=\"s:string\"/>
      </s:complexType>
      <s:simpleType name=\"interfaceVersion\">
        <s:restriction base=\"s:string\">
          <s:enumeration value=\"XML_DA_Version_1_0\"/>
          <s:enumeration value=\"DX_Version_1_0\"/>
        </s:restriction>
      </s:simpleType>
      <s:element name=\"GetStatusResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"GetStatusResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Status\" type=\"tns:ServerStatus\"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name=\"Browse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"PropertyNames\" type=\"s:QName\"/>
          </s:sequence>
          <s:attribute name=\"LocaleID\" type=\"s:string\"/>
          <s:attribute name=\"ClientRequestHandle\" type=\"s:string\"/>
          <s:attribute name=\"ItemPath\" type=\"s:string\"/>
          <s:attribute name=\"ItemName\" type=\"s:string\"/>
          <s:attribute name=\"ContinuationPoint\" type=\"s:string\"/>
          <s:attribute default=\"0\" name=\"MaxElementsReturned\" type=\"s:int\"/>
          <s:attribute default=\"all\" name=\"BrowseFilter\" type=\"tns:browseFilter\"/>
          <s:attribute name=\"ElementNameFilter\" type=\"s:string\"/>
          <s:attribute name=\"VendorFilter\" type=\"s:string\"/>
          <s:attribute default=\"false\" name=\"ReturnAllProperties\" type=\"s:boolean\"/>
          <s:attribute default=\"false\" name=\"ReturnPropertyValues\" type=\"s:boolean\"/>
          <s:attribute default=\"false\" name=\"ReturnErrorText\" type=\"s:boolean\"/>
        </s:complexType>
      </s:element>
      <s:simpleType name=\"browseFilter\">
        <s:restriction base=\"s:string\">
          <s:enumeration value=\"all\"/>
          <s:enumeration value=\"branch\"/>
          <s:enumeration value=\"item\"/>
        </s:restriction>
      </s:simpleType>
      <s:complexType name=\"BrowseElement\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Properties\" type=\"tns:ItemProperty\"/>
        </s:sequence>
        <s:attribute name=\"Name\" type=\"s:string\"/>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"IsItem\" type=\"s:boolean\" use=\"required\"/>
        <s:attribute name=\"HasChildren\" type=\"s:boolean\" use=\"required\"/>
      </s:complexType>
      <s:element name=\"BrowseResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"BrowseResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Elements\" type=\"tns:BrowseElement\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
          <s:attribute name=\"ContinuationPoint\" type=\"s:string\"/>
          <s:attribute default=\"false\" name=\"MoreElements\" type=\"s:boolean\"/>
        </s:complexType>
      </s:element>
      <s:element name=\"Read\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Options\" type=\"tns:RequestOptions\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"ItemList\" type=\"tns:ReadRequestItemList\"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name=\"ReadRequestItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:ReadRequestItem\"/>
        </s:sequence>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ReqType\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"MaxAge\" type=\"s:int\"/>
      </s:complexType>
      <s:complexType name=\"ReadRequestItem\">
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
        <s:attribute name=\"ReqType\" type=\"s:QName\" use=\"required\"/>
        <s:attribute name=\"ItemName\" type=\"s:string\"/>
        <s:attribute name=\"ClientItemHandle\" type=\"s:string\"/>
        <s:attribute name=\"MaxAge\" type=\"s:int\"/>
      </s:complexType>
      <s:complexType name=\"ReplyItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:ItemValue\"/>
        </s:sequence>
        <s:attribute name=\"Reserved\" type=\"s:string\"/>
      </s:complexType>
      <s:element name=\"ReadResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"ReadResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"RItemList\" type=\"tns:ReplyItemList\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name=\"Write\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"Options\" type=\"tns:RequestOptions\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"ItemList\" type=\"tns:WriteRequestItemList\"/>
          </s:sequence>
          <s:attribute name=\"ReturnValuesOnReply\" type=\"s:boolean\" use=\"required\"/>
        </s:complexType>
      </s:element>
      <s:complexType name=\"WriteRequestItemList\">
        <s:sequence>
          <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Items\" type=\"tns:ItemValue\"/>
        </s:sequence>
        <s:attribute name=\"ItemPath\" type=\"s:string\"/>
      </s:complexType>
      <s:element name=\"WriteResponse\">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"WriteResult\" type=\"tns:ReplyBase\"/>
            <s:element maxOccurs=\"1\" minOccurs=\"0\" name=\"RItemList\" type=\"tns:ReplyItemList\"/>
            <s:element maxOccurs=\"unbounded\" minOccurs=\"0\" name=\"Errors\" type=\"tns:OPCError\"/>
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name=\"GetPropertiesSoapIn\">
    <wsdl:part element=\"tns:GetProperties\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"GetPropertiesSoapOut\">
    <wsdl:part element=\"tns:GetPropertiesResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscribeSoapIn\">
    <wsdl:part element=\"tns:Subscribe\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscribeSoapOut\">
    <wsdl:part element=\"tns:SubscribeResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscriptionPolledRefreshSoapIn\">
    <wsdl:part element=\"tns:SubscriptionPolledRefresh\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscriptionPolledRefreshSoapOut\">
    <wsdl:part element=\"tns:SubscriptionPolledRefreshResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscriptionCancelSoapIn\">
    <wsdl:part element=\"tns:SubscriptionCancel\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"SubscriptionCancelSoapOut\">
    <wsdl:part element=\"tns:SubscriptionCancelResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"GetStatusSoapIn\">
    <wsdl:part element=\"tns:GetStatus\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"GetStatusSoapOut\">
    <wsdl:part element=\"tns:GetStatusResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"BrowseSoapIn\">
    <wsdl:part element=\"tns:Browse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"BrowseSoapOut\">
    <wsdl:part element=\"tns:BrowseResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"ReadSoapIn\">
    <wsdl:part element=\"tns:Read\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"ReadSoapOut\">
    <wsdl:part element=\"tns:ReadResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"WriteSoapIn\">
    <wsdl:part element=\"tns:Write\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:message name=\"WriteSoapOut\">
    <wsdl:part element=\"tns:WriteResponse\" name=\"parameters\"/>
  </wsdl:message>
  <wsdl:portType name=\"OpcXmlDaSrvSoap\">
    <wsdl:operation name=\"GetProperties\">
      <wsdl:input message=\"tns:GetPropertiesSoapIn\"/>
      <wsdl:output message=\"tns:GetPropertiesSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"Subscribe\">
      <wsdl:input message=\"tns:SubscribeSoapIn\"/>
      <wsdl:output message=\"tns:SubscribeSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"SubscriptionPolledRefresh\">
      <wsdl:input message=\"tns:SubscriptionPolledRefreshSoapIn\"/>
      <wsdl:output message=\"tns:SubscriptionPolledRefreshSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"SubscriptionCancel\">
      <wsdl:input message=\"tns:SubscriptionCancelSoapIn\"/>
      <wsdl:output message=\"tns:SubscriptionCancelSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"GetStatus\">
      <wsdl:input message=\"tns:GetStatusSoapIn\"/>
      <wsdl:output message=\"tns:GetStatusSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"Browse\">
      <wsdl:input message=\"tns:BrowseSoapIn\"/>
      <wsdl:output message=\"tns:BrowseSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"Read\">
      <wsdl:input message=\"tns:ReadSoapIn\"/>
      <wsdl:output message=\"tns:ReadSoapOut\"/>
    </wsdl:operation>
    <wsdl:operation name=\"Write\">
      <wsdl:input message=\"tns:WriteSoapIn\"/>
      <wsdl:output message=\"tns:WriteSoapOut\"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name=\"OpcXmlDaSrvSoap\" type=\"tns:OpcXmlDaSrvSoap\">
    <soap:binding style=\"document\" transport=\"http://schemas.xmlsoap.org/soap/http\"/>
    <wsdl:operation name=\"GetProperties\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/GetProperties\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"Subscribe\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/Subscribe\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"SubscriptionPolledRefresh\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionPolledRefresh\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"SubscriptionCancel\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionCancel\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"GetStatus\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/GetStatus\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"Browse\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/Browse\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"Read\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/Read\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name=\"Write\">
      <soap:operation soapAction=\"http://opcfoundation.org/webservices/XMLDA/1.0/Write\" style=\"document\"/>
      <wsdl:input>
        <soap:body use=\"literal\"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use=\"literal\"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name=\"OpcXmlDaSrv\">
    <documentation xmlns=\"http://schemas.xmlsoap.org/wsdl/\"/>
    <wsdl:port binding=\"tns:OpcXmlDaSrvSoap\" name=\"OpcXmlDaSrvSoap\">
      <soap:address location=\"http://tswinc.us/XMLDADemo/ts_sim/OpcDaGateway.asmx\"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>"""

    def __init__(self, post='/XMLDADemo/ts_sim/OpcDaGateway.asmx', **kw):
        ServiceSOAPBinding.__init__(self, post)

    def soap_GetProperties(self, ps):
        self.request = ps.Parse(GetPropertiesSoapIn.typecode)
        return GetPropertiesSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/GetProperties'] = 'soap_GetProperties'
    root[(GetPropertiesSoapIn.typecode.nspname,GetPropertiesSoapIn.typecode.pname)] = 'soap_GetProperties'

    def soap_Subscribe(self, ps):
        self.request = ps.Parse(SubscribeSoapIn.typecode)
        return SubscribeSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/Subscribe'] = 'soap_Subscribe'
    root[(SubscribeSoapIn.typecode.nspname,SubscribeSoapIn.typecode.pname)] = 'soap_Subscribe'

    def soap_SubscriptionPolledRefresh(self, ps):
        self.request = ps.Parse(SubscriptionPolledRefreshSoapIn.typecode)
        return SubscriptionPolledRefreshSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionPolledRefresh'] = 'soap_SubscriptionPolledRefresh'
    root[(SubscriptionPolledRefreshSoapIn.typecode.nspname,SubscriptionPolledRefreshSoapIn.typecode.pname)] = 'soap_SubscriptionPolledRefresh'

    def soap_SubscriptionCancel(self, ps):
        self.request = ps.Parse(SubscriptionCancelSoapIn.typecode)
        return SubscriptionCancelSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionCancel'] = 'soap_SubscriptionCancel'
    root[(SubscriptionCancelSoapIn.typecode.nspname,SubscriptionCancelSoapIn.typecode.pname)] = 'soap_SubscriptionCancel'

    def soap_GetStatus(self, ps):
        self.request = ps.Parse(GetStatusSoapIn.typecode)
        return GetStatusSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/GetStatus'] = 'soap_GetStatus'
    root[(GetStatusSoapIn.typecode.nspname,GetStatusSoapIn.typecode.pname)] = 'soap_GetStatus'

    def soap_Browse(self, ps):
        self.request = ps.Parse(BrowseSoapIn.typecode)
        return BrowseSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/Browse'] = 'soap_Browse'
    root[(BrowseSoapIn.typecode.nspname,BrowseSoapIn.typecode.pname)] = 'soap_Browse'

    def soap_Read(self, ps):
        self.request = ps.Parse(ReadSoapIn.typecode)
        return ReadSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/Read'] = 'soap_Read'
    root[(ReadSoapIn.typecode.nspname,ReadSoapIn.typecode.pname)] = 'soap_Read'

    def soap_Write(self, ps):
        self.request = ps.Parse(WriteSoapIn.typecode)
        return WriteSoapOut()

    soapAction['http://opcfoundation.org/webservices/XMLDA/1.0/Write'] = 'soap_Write'
    root[(WriteSoapIn.typecode.nspname,WriteSoapIn.typecode.pname)] = 'soap_Write'

