Действует с 1 января 2022 г.
Приложение. Описание схемы сервиса информационного обмена
язык описания веб-сервисов и доступа к ним, основанный на языке XML (далее - WSDL)
| <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://iec.ch/TC57/2011/abstract" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmIns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://iec.ch/TC57/2011/abstract" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xsd:schema targetNamespace="http://iec.ch/TC57/2011/abstract/Imports"> <xsd:import schemaLocation="iec.ch.TC57.2011.abstract.xsd" namespace="http://iec.ch/TC57/2011/abstract" /> <xsd:import schemaLocation="iec.ch.TC57.2011 schema.message.xsd" namespace="http://iec.ch/TC57/2011/schema/message" /> </xsd:schema> </wsdl:types> <wsdl:message name="IIEC61968_PublishEvent_InputMessage"> <wsdl:part name="parameters" element="tns:PublishEvent" /> </wsdl:message> <wsdl:message name="IIEC61968_PublishEvent_OutputMessage"> <wsdl:part name="parameters" element="tns:PublishEventResponse" /> </wsdl:message> <wsdl:message name="IIEC61968_Request_InputMessage"> <wsdl:part name="parameters" element="tns:Request" /> </wsdl:message> <wsdl:message name="IIEC61968_Request_OutputMessage"> <wsdl:part name="parameters" element="tns:RequestResponse" /> </wsdl:message> <wsdl:message name="IIEC61968_Response_InputMessage"> <wsdl:part name="parameters" element="tns:Response" /> </wsdl:message> <wdI:message name="IIEC61968_Response_OutputMessage"> <wsdl:part name="parameters" element="tns:ResponseResponse" /> </wsdl:message> <wsdl:portType name="IIEC61968"> <wsdl:operation name="PublishEvent"> <wsdl:input wsaw:Action="http://iec.ch/61968/PublishEvent" message="tns:IIEC61968_PublishEvent_InputMessage" /> <wsdl:output wsaw:Action="http://iec.ch/TC57/2011/abstract/IIEC61968/PublishEventResponse" message="tns:IIEC619668_PublishEvent_OutputMessage" /> </wsdl:operation> <wsdl:operation name="Request"> <wsdl:input wsaw:Action="http://iec.ch/61968/Request" message="tns:IIEC61968_Request_InputMessage" /> <wsdl:output wsaw:Action="http://iec.ch/TC57/2011/abstract/IIEC61968/RequestResponse" message="tns:IIEC61968_Request_OutputMessage" /> <wsdl:operation> <wsdl:operation name="Response"> <wsdl:input wsaw:Action="http://iec.ch/61968/Response" message="tns:IIEC61968_Response_InputMessage" /> <wsdl:output wsaw:Action="http://iec.ch/TC57/2011/abstract/IIEC61968/ResponseResponse" message="tns:IIEC61968_Response_OutputMessage" /> </wsdl:operation> </wsdl:portType> </wsdl:definitions> |
XML схема, являющаяся языком описания структуры XML-документа (далее - XSD)
| <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:tns="http://iec.ch/TC57/2011/abstract" elementFormDefault="qualified" targetNamespace="http://iec.ch/TC57/2011/abstract" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import schemaLocation="iec.ch.TC57.2011.schema.message.xsd" namespace="http://iec.ch/TC57/2011/schema/message" /> <xs:element name="PublishEvent"> <xs:complexType> <xs:sequence> <xs:element xmlns:q1="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="message" type="q1:EventMessageType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PublishEventResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q2="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="PublishEventResult" type="q2:ResponseMessageType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Request"> <xs:complexType> <xs:sequence> <xs:element xmlns:q3="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="message" type="q3:RequestMessageType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RequestResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q4="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="RequestResult" type="q4:ResponseMessageType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Response"> <xs:complexType> <xs:sequence> <xs:element xmlns:q5="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="message" type="q5:ResponseMessageType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ResponseResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q6="http://iec.ch/TC57/2011/schema/message" minOccurs="0" maxOccurs="1" name="ResponseResult" type="q6:ResponseMessageType" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:tns="http://iec.ch/TC57/2011/schema/message" elementFormDefault="qualified" targetNamespace="http://iec.ch/TC57/2011/schema/message" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="EventMessageType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Header" type="tns:HeaderType" /> <xs:element minOccurs="0" maxOccurs="1" name="Payload" type="tns:PayloadType" /> </xs:sequence> </xs:complexType> <xs:complexType name="HeaderType"> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="Verb"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="cancel" /> <xs:enumeration value="canceled" /> <xs:enumeration value="change" /> <xs:enumeration value="changed" /> <xs:enumeration value="create" /> <xs:enumeration value="created" /> <xs:enumeration value="close" /> <xs:enumeration value="closed" /> <xs:enumeration value="delete" /> <xs:enumeration value="deleted" /> <xs:enumeration value="get" /> <xs:enumeration value="reply" /> <xs:enumeration value="execute" /> <xs:enumeration value="executed" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="Noun" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Revision" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="ReplayDetection" type="tns:ReplayDetectionType"/> <xs:element minOccurs="0" maxOccurs="1" name="Context" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Timestamp" type="xs:dateTime" /> <xs:element minOccurs="0" maxOccurs="1" name="Source" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="AsyncReplyFlag" type="xs:boolean" /> <xs:element minOccurs="0" maxOccurs="1" name="ReplyAddress" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="AckRequired" type="xs:boolean" /> <xs:element minOccurs="0" maxOccurs="1" name="User" type="tns:UserType" /> <xs:element minOccurs="0" maxOccurs="1" name="MessageID" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="CorrelationID" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="Property" type="tns:MessageProperty" /> <xs:any minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="ReplayDetectionType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Nonce" type="xs:string" /> <xs:element minOccurs="1" maxOccurs="1" name="Created" type="xs:dateTime" /> </xs:sequence> </xs:complexType> <xs:complexType name="UserType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="UserID" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Organization" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="MessageProperty"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Value" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="PayloadType"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element minOccurs="0" maxOccurs="1" name="Compressed" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="idType" type="xs:string" /> <xs:attribute name="idAuthority" type="xs:string" /> <xs:attribute name="kind" type="tns:IDKindType" /> <xs:attribute name="objectType" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="OperationSet" type="tns:OperationSet" /> <xs:any minOccurs="0" maxOccurs="1" /> </xs:choice> <xs:element minOccurs="0" maxOccurs="1" name="Format" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:simpleType name="IDKindType"> <xs:restriction base="xs:string"> <xs:enumeration value="name" /> <xs:enumeration value="uuid" /> <xs:enumeration value="transaction" /> <xs:enumeration value="other" /> </xs:restriction> </xs:simpleType> <xs:complexType name="OperationSet"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="enforceMsgSequence" type="xs:boolean" /> <xs:element minOccurs="0" maxOccurs="1" name="enforceTransactionalIntegrity" type="xs:boolean" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="Operation" type="tns:OperationType" /> </xs:sequence> </xs:complexType> <xs:complexType name="OperationType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="operationId" type="xs:integer" /> <xs:element minOccurs="0" maxOccurs="1" name="noun" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="verb" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" default="false" name="elementOperation" type="xs:boolean" /> <xs:any minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> <xs:complexType name="ResponseMessageType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Header" type="tns:HeaderType" /> <xs:element minOccurs="0" maxOccurs="1" name="Reply" type="tns:ReplyType" /> <xs:element minOccurs="0" maxOccurs="1" name="Payload" type="tns:PayloadType" /> </xs:sequence> </xs:complexType> <xs:complexType name="ReplyType"> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="Result"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="OK" /> <xs:enumeration value="PARTIAL" /> <xs:enumeration value="FAILED" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" maxOccurs="unbounded" name="Error" type="tns:ErrorType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="idType" type="xs:string" /> <xs:attribute name="idAuthority" type="xs:string" /> <xs:attribute name="kind" type="tns:IDKindType" /> <xs:attribute name="objectType" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:any minOccurs="0" maxOccurs="unbounded" /> <xs:element minOccurs="0" maxOccurs="1" name="operationId" type="xs:integer" /> </xs:sequence> </xs:complexType> <xs:complexType name="ErrorType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="code" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="level"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="INFORM" /> <xs:enumeration value="WARNING" /> <xs:enumeration value="FATAL" /> <xs:enumeration value="CATASTROPHIC" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="reason" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="details" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="xpath" type="xs:QName" /> <xs:element minOccurs="0" maxOccurs="1" name="stackTrace" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="Location" type="tns:LocationType" /> <xs:element minOccurs="0" maxOccurs="1" name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="idType" type="xs:string" /> <xs:attribute name="idAuthority" type="xs:string" /> <xs:attribute name="kind" type="tns:IDKindType" /> <xs:attribute name="objectType" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="relatedID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="idType" type="xs:string" /> <xs:attribute name="idAuthority" type="xs:string" /> <xs:attribute name="kind" type="tns:IDKindType" /> <xs:attribute name="objectType" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="object" type="tns:ObjectType" /> <xs:element minOccurs="0" maxOccurs="1" name="operationId" type="xs:integer" /> </xs:sequence> </xs:complexType> <xs:complexType name="LocationType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="node" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="pipeline" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="stage" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="ObjectType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="mRID" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="Name" type="tns:Name" /> <xs:element minOccurs="0" maxOccurs="1" name="objectType" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="Name"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="name" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="NameType" type="tns:NameType" /> </xs:sequence> </xs:complexType> <xs:complexType name="NameType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="name" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="NameTypeAuthority" type="tns:NameTypeAuthority" /> </xs:sequence> </xs:complexType> <xs:complexType name="NameTypeAuthority"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="name" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="RequestMessageType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="Header" type="tns:HeaderType" /> <xs:element minOccurs="0" maxOccurs="1" name="Request" type="tns:RequestType" /> <xs:element minOccurs="0" maxOccurs="1" name="Payload" type="tns:PayloadType" /> </xs:sequence> </xs:complexType> <xs:complexType name="RequestType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="StartTime" type="xs:dateTime" /> <xs:element minOccurs="0" maxOccurs="1" name="EndTime" type="xs:dateTime" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="Option" type="tns:OptionType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="ID"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="idType" type="xs:string" /> <xs:attribute name="idAuthority" type="xs:string" /> <xs:attribute name="kind" type="tns:IDKindType" /> <xs:attribute name="objectType" type="xs:string" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:any minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="OptionType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="name" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="value" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:schema> |