Erläuterungen zum ufruf der Methoden des XML Webservice 2008 für Versorgungsunterbrechungen Strom Regeln für den XML Webservice 2008 1. Innerhalb eines Pakets dürfen maximal 2000 Versorgungsunterbrechungen gesendet werden. 2. Die ngaben zu den Paketen werden zu Beginn der Transaktion gemacht. 3. Bei einer Leermeldung müssen die ngaben zu Versorgungsunterbrechungen auf 0 gesetzt werden. 4. Es können für jedes betroffen Netzgebiet Transaktionen durchgeführt werden. 5. Die Pakete mit Versorgungsunterbrechungen müssen fortlaufend gesendet werden (1, 2, 3,, n). 6. Das letzte Paket kann den Rest der Versorgungsunterbrechungen enthalten. 7. Die Versorgungsunterbrechungen müssen fortlaufend sein. 8. Es kann maximal 3 Details zu einer Versorgungsunterbrechung geben. Dies ist abhängig von der getroffenen uswahl bei VSU_1_14 bis VSU_1_17. 9. Die ufrufreihenfolge ist unbedingt einzuhalten. 10. Nur Transaktionen mit bschluss werden von der Bundesnetzagentur weiter verarbeitet. 11. Das Ergebnis der Vorprüfung kann erst nach 24 Stunden abgerufen werden. Hierzu ist die Transaktionsnummer aufzubewahren. 12. Enthält das Vorprüfliste in der Vorprüfantwort keine Einträge wurden die Daten von der Bundesnetzagentur angenommen. Beispiel ufrufreihenfolge einmalige Netzdaten als Leermeldung: /// <summary> /// Leermeldung Senden /// </summary> /// <param name="oeinmalig">einmalige Netzdaten</param> /// <returns>'true' bei Erfog</returns> bool DoEinmaligLeer(Einmalig oeinmalig) // Instanz WS_2008 erzeugen WsVersUnterbrechungenStrom ows = new WsVersUnterbrechungenStrom(); // 1. Transaktion beginnen BeginnTranntwort ont = ows.beginntransaktion(99999999, "1234567", 1, 2007, true, 0, 0, 0, WS_2008.TransBeginnrtEnum.EchtDaten); if (ont.statusws!= TransStatusEnum.kzeptiert) return false;
// 2.Einmaldaten senden Tranntwort onteinmalig = ows.transeinmalig(ont.transaktionsnummer, oeinmalig); if (onteinmalig.statusws!= TransStatusEnum.kzeptiert) return false; // 3. bschluss der Transaktion Tranntwort ontbschluss = ows.bschlusstransaktion(_strannr); if (ontbschluss.statusws!= TransStatusEnum.kzeptiert) return false; return true; Beispiel ufrufreihenfolge einmalige Netzdaten und Versorgungsunterbrechungen: /// <summary> /// Senden Versorgungsunterbrechungen /// </summary> /// <param name="oeinmalig">einmalige Netzdaten</param> /// <param name="ovus">versorgungsunterbrechungen</param> /// <returns>'true' bei Erfog</returns> bool DoEinmaligndVUs(Einmalig oeinmalig, Unterbrechung[] ovus) // Instanz WS_2008 erzeugen WsVersUnterbrechungenStrom ows = new WsVersUnterbrechungenStrom(); // 1. Transaktion beginnen BeginnTranntwort ont = ows.beginntransaktion(99999999, "1234567", 1, 2007, false, 100, 100, 1, WS_2008.TransBeginnrtEnum.EchtDaten); if (ont.statusws!= TransStatusEnum.kzeptiert) return false; // 2.Einmaldaten senden Tranntwort onteinmalig = ows.transeinmalig(ont.transaktionsnummer, oeinmalig); if (onteinmalig.statusws!= TransStatusEnum.kzeptiert) return false; // 3.VUs senden TranUnterbrntwort ontvus = ows.transunterbrechungen(ont.transaktionsnummer, 1, ovus); if (ontvus.statusws!= TransStatusEnum.kzeptiert) return false; // 4. bschluss der Transaktion Tranntwort ontbschluss = ows.bschlusstransaktion(_strannr); if (ontbschluss.statusws!= TransStatusEnum.kzeptiert) return false; return true;
Beispiel bbruch einer Transaktion durch den Netzbetreiber: // bbruch der Transaktion Tranntwort ont = ows.bbruchtransaktion(_strannr); if (ont.statusws!= TransStatusEnum.kzeptiert) return false; return true; Beispiel Testaufrufe für Softwareentwickler: /// <summary> /// Testaufruf, Betriebsnummer und Kontrollnummer können fiktiv sein. /// </summary> void DoTestufruf() // Instanz WS_2008 erzeugen WsVersUnterbrechungenStrom ows = new WsVersUnterbrechungenStrom(); // Transaktion mit TestVerweigert beginnen BeginnTranntwort ont = ows.beginntransaktion(99999999, "1234567", 1, 2007, true, 0, 0, 0, WS_2008.TransBeginnrtEnum.TestVerweigert); if (ont.statusws!= TransStatusEnum.Verweigert) // Test OK ont = ows.beginntransaktion(99999999, "1234567", 1, 2007, true, 0, 0, 0, WS_2008.TransBeginnrtEnum.TestNichtkzeptiert); if (ont.statusws!= TransStatusEnum.TestTrans) //T estmodus Tranntwort onteinmalig = ows.transeinmalig(ont.transaktionsnummer, new Einmalig()); if (onteinmalig.statusws!= TransStatusEnum.Nichtkzeptiert) // Test OK
blaufdiagramm: ufruf der Methoden des Webservice
Start D BeginnTransaktion() kzeptiert? Testaufrufe der Methoden (nähere Erläuterung im Text) Echtdaten? D C TransEinmalig() RueckgabeEinmalig() kzeptiert? kzeptiert? Leermeldung? B ntwort- Objekt mit Einmaldaten TransUnterbrechungen() RueckgabeUnterbrechungen() kzeptiert? kzeptiert? Weitere Pakete? ntwort- Objekt mit Versorgungsunterbrechungen Kontrolle der gesendeten Daten? C Weitere Pakete? B bschlusstransantion() B kzeptiert? Ende
blaufdiagramm: bbruch einer Transaktion Start BeginnTransaktion() kzeptiert? Echtdaten? D TransEinmalig() kzeptiert? Transaktion bbruch durch Netzbetreiber? bbruchtransaktion() ufruf: TransEinmalig(); TransUnterbrechungen() usw. kzeptiert? Ende
Klassendiagramm Webservice 2008