Commit e74fe436 authored by Gozutok, Recep's avatar Gozutok, Recep
Browse files

Upload New File

parent 25bd59e1
<?xml version="1.0" encoding="utf-8"?>
<!--
OCPP Central System service description
Version 1.5 draft for approval (1.5 RC4)
Copyright e-laad.nl. Free to use without modifications.
See: http://ev-services.net/ocpp/
-->
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:tns="urn://Ocpp/Cs/2012/06/"
targetNamespace="urn://Ocpp/Cs/2012/06/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsp:Policy wsu:Id="ServicePolicy">
<wsp:ExactlyOne>
<wsp:All>
<wsaw:UsingAddressing/>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
<wsdl:types>
<s:schema targetNamespace="urn://Ocpp/Cs/2012/06/" elementFormDefault="qualified">
<!-- Begin of types shared with ChargePointService -->
<s:simpleType name="IdToken">
<s:annotation>
<s:documentation>Type of string defining identification token, e.g. RFID or credit card number. To be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="20"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="AuthorizationStatus">
<s:annotation>
<s:documentation>Defines the authorization-status-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Accepted"/>
<s:enumeration value="Blocked"/>
<s:enumeration value="Expired"/>
<s:enumeration value="Invalid"/>
<s:enumeration value="ConcurrentTx"/>
</s:restriction>
</s:simpleType>
<s:complexType name="IdTagInfo">
<s:sequence>
<s:element name="status" type="tns:AuthorizationStatus" minOccurs="1" maxOccurs="1"/>
<s:element name="expiryDate" type="s:dateTime" minOccurs="0" maxOccurs="1"/>
<s:element name="parentIdTag" type="tns:IdToken" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<!-- End of types shared with ChargePointService -->
<s:simpleType name="ChargeBoxSerialNumber">
<s:annotation>
<s:documentation>String type of max 25 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="25"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ChargePointModel">
<s:annotation>
<s:documentation>String type of max 20 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="20"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ChargePointSerialNumber">
<s:annotation>
<s:documentation>String type of max 25 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="25"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ChargePointVendor">
<s:annotation>
<s:documentation>String type of max 20 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="20"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="FirmwareVersion">
<s:annotation>
<s:documentation>String type of max 50 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="50"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="IccidString">
<s:annotation>
<s:documentation>String type of max 20 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="20"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ImsiString">
<s:annotation>
<s:documentation>String type of max 20 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="20"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="MeterSerialNumber">
<s:annotation>
<s:documentation>String type of max 25 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="25"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="MeterType">
<s:annotation>
<s:documentation>String type of max 25 chars that is to be treated as case insensitive.</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:maxLength value="25"/>
</s:restriction>
</s:simpleType>
<s:complexType name="AuthorizeRequest">
<s:annotation>
<s:documentation>Defines the Authorize.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="idTag" type="tns:IdToken" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="AuthorizeResponse">
<s:annotation>
<s:documentation>Defines the Authorize.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="idTagInfo" type="tns:IdTagInfo" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="StartTransactionRequest">
<s:annotation>
<s:documentation>Defines the StartTransaction.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="connectorId" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="idTag" type="tns:IdToken" minOccurs="1" maxOccurs="1"/>
<s:element name="timestamp" type="s:dateTime" minOccurs="1" maxOccurs="1"/>
<s:element name="meterStart" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="reservationId" type="s:int" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="StartTransactionResponse">
<s:annotation>
<s:documentation>Defines the StartTransaction.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="transactionId" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="idTagInfo" type="tns:IdTagInfo" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="TransactionData">
<s:annotation>
<s:documentation>This contains transaction usage details relevant for billing purposes in StopTransaction.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="values" type="tns:MeterValue" minOccurs="0" maxOccurs="unbounded"/>
</s:sequence>
</s:complexType>
<s:complexType name="StopTransactionRequest">
<s:annotation>
<s:documentation>Defines the StopTransaction.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="transactionId" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="idTag" type="tns:IdToken" minOccurs="0" maxOccurs="1"/>
<s:element name="timestamp" type="s:dateTime" minOccurs="1" maxOccurs="1"/>
<s:element name="meterStop" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="transactionData" type="tns:TransactionData" minOccurs="0" maxOccurs="unbounded"/>
</s:sequence>
</s:complexType>
<s:complexType name="StopTransactionResponse">
<s:annotation>
<s:documentation>Defines the StopTransaction.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="idTagInfo" type="tns:IdTagInfo" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="HeartbeatRequest">
<s:annotation>
<s:documentation>Defines the Heartbeat.req PDU</s:documentation>
</s:annotation>
</s:complexType>
<s:complexType name="HeartbeatResponse">
<s:annotation>
<s:documentation>Defines the Heartbeat.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="currentTime" type="s:dateTime" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:simpleType name="ReadingContext">
<s:restriction base="s:string">
<s:enumeration value="Interruption.Begin"/>
<s:enumeration value="Interruption.End"/>
<s:enumeration value="Sample.Clock"/>
<s:enumeration value="Sample.Periodic"/>
<s:enumeration value="Transaction.Begin"/>
<s:enumeration value="Transaction.End"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="Measurand">
<s:restriction base="s:string">
<s:enumeration value="Energy.Active.Export.Register"/>
<s:enumeration value="Energy.Active.Import.Register"/>
<s:enumeration value="Energy.Reactive.Export.Register"/>
<s:enumeration value="Energy.Reactive.Import.Register"/>
<s:enumeration value="Energy.Active.Export.Interval"/>
<s:enumeration value="Energy.Active.Import.Interval"/>
<s:enumeration value="Energy.Reactive.Export.Interval"/>
<s:enumeration value="Energy.Reactive.Import.Interval"/>
<s:enumeration value="Power.Active.Export"/>
<s:enumeration value="Power.Active.Import"/>
<s:enumeration value="Power.Reactive.Export"/>
<s:enumeration value="Power.Reactive.Import"/>
<s:enumeration value="Current.Export"/>
<s:enumeration value="Current.Import"/>
<s:enumeration value="Voltage"/>
<s:enumeration value="Temperature"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ValueFormat">
<s:restriction base="s:string">
<s:enumeration value="Raw"/>
<s:enumeration value="SignedData"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="UnitOfMeasure">
<s:restriction base="s:string">
<s:enumeration value="Wh"/>
<s:enumeration value="kWh"/>
<s:enumeration value="varh"/>
<s:enumeration value="kvarh"/>
<s:enumeration value="W"/>
<s:enumeration value="kW"/>
<s:enumeration value="var"/>
<s:enumeration value="kvar"/>
<s:enumeration value="Amp"/>
<s:enumeration value="Volt"/>
<s:enumeration value="Celsius"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="Location">
<s:restriction base="s:string">
<s:enumeration value="Inlet"/>
<s:enumeration value="Outlet"/>
<s:enumeration value="Body"/>
</s:restriction>
</s:simpleType>
<s:complexType name="MeterValue">
<s:annotation>
<s:documentation>Defines single value of the meter-value-value</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="timestamp" type="s:dateTime"/>
<s:element name="value" minOccurs="1" maxOccurs="unbounded">
<s:complexType>
<s:simpleContent>
<s:extension base="s:string">
<s:attribute name="context" type="tns:ReadingContext" use="optional"/> <!-- default="Sample.Periodic" -->
<s:attribute name="format" type="tns:ValueFormat" use="optional"/> <!-- default="Raw" -->
<s:attribute name="measurand" type="tns:Measurand" use="optional"/> <!-- default="Energy.Active.Import.Register" -->
<s:attribute name="location" type="tns:Location" use="optional"/> <!-- default="Outlet" -->
<s:attribute name="unit" type="tns:UnitOfMeasure" use="optional"/> <!-- default="Wh" -->
</s:extension>
</s:simpleContent>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
<s:complexType name="MeterValuesRequest">
<s:annotation>
<s:documentation>Defines the MeterValues.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="connectorId" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="transactionId" type="s:int" minOccurs="0" maxOccurs="1"/>
<s:element name="values" type="tns:MeterValue" minOccurs="0" maxOccurs="unbounded"/>
</s:sequence>
</s:complexType>
<s:complexType name="MeterValuesResponse">
<s:annotation>
<s:documentation>Defines the MeterValues.conf PDU</s:documentation>
</s:annotation>
</s:complexType>
<s:complexType name="BootNotificationRequest">
<s:annotation>
<s:documentation>Defines the BootNotification.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="chargePointVendor" type="tns:ChargePointVendor" minOccurs="1" maxOccurs="1"/>
<s:element name="chargePointModel" type="tns:ChargePointModel" minOccurs="1" maxOccurs="1"/>
<s:element name="chargePointSerialNumber" type="tns:ChargePointSerialNumber" minOccurs="0" maxOccurs="1"/>
<s:element name="chargeBoxSerialNumber" type="tns:ChargeBoxSerialNumber" minOccurs="0" maxOccurs="1"/>
<s:element name="firmwareVersion" type="tns:FirmwareVersion" minOccurs="0" maxOccurs="1"/>
<s:element name="iccid" type="tns:IccidString" minOccurs="0" maxOccurs="1"/>
<s:element name="imsi" type="tns:ImsiString" minOccurs="0" maxOccurs="1"/>
<s:element name="meterType" type="tns:MeterType" minOccurs="0" maxOccurs="1"/>
<s:element name="meterSerialNumber" type="tns:MeterSerialNumber" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:simpleType name="RegistrationStatus">
<s:annotation>
<s:documentation>Defines the registration-status-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Accepted"/>
<s:enumeration value="Rejected"/>
</s:restriction>
</s:simpleType>
<s:complexType name="BootNotificationResponse">
<s:annotation>
<s:documentation>Defines the BootNotification.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="status" type="tns:RegistrationStatus" minOccurs="1" maxOccurs="1"/>
<s:element name="currentTime" type="s:dateTime" minOccurs="1" maxOccurs="1"/>
<s:element name="heartbeatInterval" type="s:int" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:simpleType name="ChargePointErrorCode">
<s:annotation>
<s:documentation>Defines the charge-point-error-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="ConnectorLockFailure"/>
<s:enumeration value="HighTemperature"/>
<s:enumeration value="Mode3Error"/>
<s:enumeration value="NoError"/>
<s:enumeration value="PowerMeterFailure"/>
<s:enumeration value="PowerSwitchFailure"/>
<s:enumeration value="ReaderFailure"/>
<s:enumeration value="ResetFailure"/>
<s:enumeration value="GroundFailure"/>
<s:enumeration value="OverCurrentFailure"/>
<s:enumeration value="UnderVoltage"/>
<s:enumeration value="WeakSignal"/>
<s:enumeration value="OtherError"/>
</s:restriction>
</s:simpleType>
<s:simpleType name="ChargePointStatus">
<s:annotation>
<s:documentation>Defines the charge-point-status-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Available"/>
<s:enumeration value="Occupied"/>
<s:enumeration value="Faulted"/>
<s:enumeration value="Unavailable"/>
<s:enumeration value="Reserved"/>
</s:restriction>
</s:simpleType>
<s:complexType name="StatusNotificationRequest">
<s:annotation>
<s:documentation>Defines the StatusNotification.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="connectorId" type="s:int" minOccurs="1" maxOccurs="1"/>
<s:element name="status" type="tns:ChargePointStatus" minOccurs="1" maxOccurs="1"/>
<s:element name="errorCode" type="tns:ChargePointErrorCode" minOccurs="1" maxOccurs="1"/>
<s:element name="info" type="s:string" minOccurs="0" maxOccurs="1"/>
<s:element name="timestamp" type="s:dateTime" minOccurs="0" maxOccurs="1"/>
<s:element name="vendorId" type="s:string" minOccurs="0" maxOccurs="1"/>
<s:element name="vendorErrorCode" type="s:string" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="StatusNotificationResponse">
<s:annotation>
<s:documentation>Defines the StatusNotification.conf PDU</s:documentation>
</s:annotation>
</s:complexType>
<s:simpleType name="FirmwareStatus">
<s:annotation>
<s:documentation>Defines the firmware-status-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Downloaded"/>
<s:enumeration value="DownloadFailed"/>
<s:enumeration value="InstallationFailed"/>
<s:enumeration value="Installed"/>
</s:restriction>
</s:simpleType>
<s:complexType name="FirmwareStatusNotificationRequest">
<s:annotation>
<s:documentation>Defines the FirmwareStatusNotification.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="status" type="tns:FirmwareStatus" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="FirmwareStatusNotificationResponse">
<s:annotation>
<s:documentation>Defines the FirmwareStatusNotification.conf PDU</s:documentation>
</s:annotation>
</s:complexType>
<s:simpleType name="DiagnosticsStatus">
<s:annotation>
<s:documentation>Defines the diagnostics-status-value</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Uploaded"/>
<s:enumeration value="UploadFailed"/>
</s:restriction>
</s:simpleType>
<s:complexType name="DiagnosticsStatusNotificationRequest">
<s:annotation>
<s:documentation>Defines the DiagnosticsStatusNotification.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="status" type="tns:DiagnosticsStatus" minOccurs="1" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:complexType name="DiagnosticsStatusNotificationResponse">
<s:annotation>
<s:documentation>Defines the DiagnosticsStatusNotification.conf PDU</s:documentation>
</s:annotation>
</s:complexType>
<s:complexType name="DataTransferRequest">
<s:annotation>
<s:documentation>Defines the DataTransfer.req PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="vendorId" type="s:string" minOccurs="1" maxOccurs="1"/>
<s:element name="messageId" type="s:string" minOccurs="0" maxOccurs="1"/>
<s:element name="data" type="s:string" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:simpleType name="DataTransferStatus">
<s:annotation>
<s:documentation>Defines the status returned in DataTransfer.conf</s:documentation>
</s:annotation>
<s:restriction base="s:string">
<s:enumeration value="Accepted"/>
<s:enumeration value="Rejected"/>
<s:enumeration value="UnknownMessageId"/>
<s:enumeration value="UnknownVendorId"/>
</s:restriction>
</s:simpleType>
<s:complexType name="DataTransferResponse">
<s:annotation>
<s:documentation>Defines the DataTransfer.conf PDU</s:documentation>
</s:annotation>
<s:sequence>
<s:element name="status" type="tns:DataTransferStatus" minOccurs="1" maxOccurs="1"/>
<s:element name="data" type="s:string" minOccurs="0" maxOccurs="1"/>
</s:sequence>
</s:complexType>
<s:element name="chargeBoxIdentity" type="s:string"/>
<s:element name="authorizeRequest" type="tns:AuthorizeRequest"/>
<s:element name="authorizeResponse" type="tns:AuthorizeResponse"/>
<s:element name="startTransactionRequest" type="tns:StartTransactionRequest"/>
<s:element name="startTransactionResponse" type="tns:StartTransactionResponse"/>
<s:element name="stopTransactionRequest" type="tns:StopTransactionRequest"/>
<s:element name="stopTransactionResponse" type="tns:StopTransactionResponse"/>
<s:element name="heartbeatRequest" type="tns:HeartbeatRequest"/>
<s:element name="heartbeatResponse" type="tns:HeartbeatResponse"/>
<s:element name="meterValuesRequest" type="tns:MeterValuesRequest"/>
<s:element name="meterValuesResponse" type="tns:MeterValuesResponse"/>
<s:element name="bootNotificationRequest" type="tns:BootNotificationRequest"/>
<s:element name="bootNotificationResponse" type="tns:BootNotificationResponse"/>
<s:element name="statusNotificationRequest" type="tns:StatusNotificationRequest"/>
<s:element name="statusNotificationResponse" type="tns:StatusNotificationResponse"/>
<s:element name="firmwareStatusNotificationRequest" type="tns:FirmwareStatusNotificationRequest"/>
<s:element name="firmwareStatusNotificationResponse" type="tns:FirmwareStatusNotificationResponse"/>
<s:element name="diagnosticsStatusNotificationRequest" type="tns:DiagnosticsStatusNotificationRequest"/>
<s:element name="diagnosticsStatusNotificationResponse" type="tns:DiagnosticsStatusNotificationResponse"/>
<s:element name="dataTransferRequest" type="tns:DataTransferRequest"/>
<s:element name="dataTransferResponse" type="tns:DataTransferResponse"/>
</s:schema>
</wsdl:types>
<wsdl:message name="Header">
<wsdl:part name="ChargeBoxIdentity" element="tns:chargeBoxIdentity"/>
</wsdl:message>
<wsdl:message name="AuthorizeInput">
<wsdl:part name="parameters" element="tns:authorizeRequest"/>
</wsdl:message>
<wsdl:message name="AuthorizeOutput">
<wsdl:part name="parameters" element="tns:authorizeResponse"/>
</wsdl:message>
<wsdl:message name="StartTransactionInput">
<wsdl:part name="parameters" element="tns:startTransactionRequest"/>
</wsdl:message>
<wsdl:message name="StartTransactionOutput">
<wsdl:part name="parameters" element="tns:startTransactionResponse"/>
</wsdl:message>
<wsdl:message name="StopTransactionInput">
<wsdl:part name="parameters" element="tns:stopTransactionRequest"/>
</wsdl:message>
<wsdl:message name="StopTransactionOutput">
<wsdl:part name="parameters" element="tns:stopTransactionResponse"/>
</wsdl:message>
<wsdl:message name="HeartbeatInput">
<wsdl:part name="parameters" element="tns:heartbeatRequest"/>
</wsdl:message>
<wsdl:message name="HeartbeatOutput">
<wsdl:part name="parameters" element="tns:heartbeatResponse"/>
</wsdl:message>
<wsdl:message name="MeterValuesInput">
<wsdl:part name="parameters" element="tns:meterValuesRequest"/>
</wsdl:message>
<wsdl:message name="MeterValuesOutput">
<wsdl:part name="parameters" element="tns:meterValuesResponse"/>
</wsdl:message>
<wsdl:message name="BootNotificationInput">
<wsdl:part name="parameters" element="tns:bootNotificationRequest"/>
</wsdl:message>
<wsdl:message name="BootNotificationOutput">
<wsdl:part name="parameters" element="tns:bootNotificationResponse"/>
</wsdl:message>
<wsdl:message name="StatusNotificationInput">
<wsdl:part name="parameters" element="tns:statusNotificationRequest"/>
</wsdl:message>
<wsdl:message name="StatusNotificationOutput">
<wsdl:part name="parameters" element="tns:statusNotificationResponse"/>
</wsdl:message>
<wsdl:message name="FirmwareStatusNotificationInput">
<wsdl:part name="parameters" element="tns:firmwareStatusNotificationRequest"/>
</wsdl:message>
<wsdl:message name="FirmwareStatusNotificationOutput">
<wsdl:part name="parameters" element="tns:firmwareStatusNotificationResponse"/>
</wsdl:message>
<wsdl:message name="DiagnosticsStatusNotificationInput">
<wsdl:part name="parameters" element="tns:diagnosticsStatusNotificationRequest"/>
</wsdl:message>
<wsdl:message name="DiagnosticsStatusNotificationOutput">
<wsdl:part name="parameters" element="tns:diagnosticsStatusNotificationResponse"/>
</wsdl:message>
<wsdl:message name="DataTransferInput">
<wsdl:part name="parameters" element="tns:dataTransferRequest"/>
</wsdl:message>
<wsdl:message name="DataTransferOutput">
<wsdl:part name="parameters" element="tns:dataTransferResponse"/>
</wsdl:message>
<wsdl:portType name="CentralSystemService">
<wsdl:operation name="Authorize">
<wsdl:input message="tns:AuthorizeInput" wsaw:Action="/Authorize"/>
<wsdl:output message="tns:AuthorizeOutput" wsaw:Action="/AuthorizeResponse"/>
</wsdl:operation>
<wsdl:operation name="StartTransaction">
<wsdl:input message="tns:StartTransactionInput" wsaw:Action="/StartTransaction"/>
<wsdl:output message="tns:StartTransactionOutput" wsaw:Action="/StartTransactionResponse"/>
</wsdl:operation>
<wsdl:operation name="StopTransaction">
<wsdl:input message="tns:StopTransactionInput" wsaw:Action="/StopTransaction"/>
<wsdl:output message="tns:StopTransactionOutput" wsaw:Action="/StopTransactionResponse"/>
</wsdl:operation>
<wsdl:operation name="Heartbeat">
<wsdl:input message="tns:HeartbeatInput" wsaw:Action="/Heartbeat"/>
<wsdl:output message="tns:HeartbeatOutput" wsaw:Action="/HeartbeatResponse"/>
</wsdl:operation>
<wsdl:operation name="MeterValues">
<wsdl:input message="tns:MeterValuesInput" wsaw:Action="/MeterValues"/>
<wsdl:output message="tns:MeterValuesOutput" wsaw:Action="/MeterValuesResponse"/>
</wsdl:operation>
<wsdl:operation name="BootNotification">
<wsdl:input message="tns:BootNotificationInput" wsaw:Action="/BootNotification"/>