vorheriger Abschnitt Inhalt nachfolgender Abschnitt

1.27 Prüfserver

 

FGH_PRUEF_SERVER - FNN XML-Validierung über Web-Schnittstelle

Mit dem Programm "FGH_PRUEF_SERVER" stellen wir Kunden mit dem Modul "Benutzerverwaltung" auf Anfrage ein Programm zur Verfügung, welches einen vereinfachten Datentransfer von Netz- und Störungsdaten im XML Format von einem Fremdsystem zu InterAss über das digitale Netzwerk ermöglicht.

Zu diesem Zweck stellt der "FGH_PRUEF_SERVER" einen Soap Server dar. Dieser dient als Vehikel um über das digitale Netzwerk XML Inhalte zu transportieren, indem XML-Daten in einen Soap Envelope eingepackt werden. Hierbei interessieren den Server die XML Inhalte gar nicht.
Für die XML-Inhalte gelten unsere Regeln für das XML Tauschformat Strom bzw. Gas.

Insbesondere sind für Zeitangaben nur die folgenden Formate zulässig:

V1  0201040925                    kryptisches Zeitformat ddMMjjhhmm

V2  02.01.2004                    dd.MM.JJJJ  deutsches kurzes Zeitformate mit 4 stelligem Jahr
V3  02.01.04 09:25                dd.MM.JJ hh:mm
V4  02.01.2004 09:25              dd.MM.JJJJ hh:mm
V5  02.01.04 09:25:56             dd.MM.JJ hh:mm:ss
V6  02.01.2004 09:25:56           dd.MM.JJJJ hh:mm:ss

V7  02.01.04 09:25:56.678         dd.MM.JJ hh:mm:ss.xxx Uhrzeit mit Millisekunden
V8  02.01.2004 09:25:56.678       dd.MM.JJJJ hh:mm:ss.xxx Uhrzeit mit Millisekunden
V9  2012-12-10T07:01:18.274Z      XML Format yyyy-MM-ddThh:mm:ss.uuuZ (UTC Zeit wird beim Import automatisch in lokale Zeit konvertiert)

Zur Implementierung eines SOAP Clients im Fremdsystem wird ggf. eine WSDL zum Generieren der Prozeduren benötigt.
Zu diesem Zweck stellen wir Musterdateien zur Verfügung (FGHPruefStrom.wsdl bzw. FGHPruefGas.wsdl).
Diese sind jedoch vom Implementierer des SOAP Clients zu verifizieren, ggf. anzupassen und im SOAP Server des Kunden zu hinterlegen.

Unter http://188.40.40.196:81/server_status.html stellen wir dem Implementierer des SOAP Clients eine Testinstanz unseres SOAP Servers zur Verfügung.
Daher kann der realisierte Client vor der Installation beim Kunden getestet werden.

Es wird einen Server mit folgenden Funktionen realisiert:

  • Der Server lauscht auf einem Port im Internet nach POST Requests.
  • Über ein SOAP-XML Protokoll kann der Client bestimmte Server-Funktionen aufrufen:
    1. BeginnTransaktion: Übergabe von Steuerdaten, Rückgabe einer Transaktionsnummer
    2. TransNetze: Übertragen der Netzdaten im FNN/FGH XML-Format
    3. TransStoerungen: Übertragen der Störungsdaten im FNN/FGH XML-Format
    4. ErgebnisPruefung: Datenprüfung auf dem Server anstoßen und Rückgabe des Prüfprotokolls
    5. AbbruchTransaktion: Abbruch des Vorganges durch den Client (Transaktion auf dem Server löschen)

Die übertragenen Daten werden auf dem Server in einem temporären Verzeichnis abgelegt. Zur Datenprüfung wird die FNN XML-Validierung als externer Prozess gestartet und der Prüfbericht wird nach Prozessende über das Internet an den Client übertragen.

Der Server wird zum Teil über den Client, in entscheidenden Teilen jedoch lokal über die Steuerdatei  "steuer_fgh_pruef_server.txt" gesteuert. Diese muss sich im Arbeitsverzeichnis befinden. Ohne Steuerdatei wird das Programm mit einer Fehlermeldung beendet. Ein Muster für die Steuerdatei befindet sich unter

    example\steuer_fgh_pruef_server.txt

Einzelheiten zu den Steuermöglichkeiten durch den Client und den Aufbau des SOAP-Protokolls sind zu finden unter:

http://www.fgh-gmbh.com/interass/FGHPruefStrom/FGHPruefStrom.asmx für Strom Netze und Störungen

bzw.

http://www.fgh-gmbh.com/interass/FGHPruefGas/FGHPruefGas.asmx für Gas Netze und Meldungen/Störungen

 

Zum Zwecke der Evaluierung kann der Server direkt über die Windows-Eingabeaufforderung gestartet werden. Über entsprechende Optionen kann der Server jedoch auch als Windows Service (Dienste) installiert werden.

Zu beachten sind:

  • Beachten: Erst nachdem die Funktion des Servers vollständig verifiziert wurde, sollte der Service konfiguriert werden.
  • entsprechende Berechtigungen (der Service selbst muss das Prüfprogramm starten können)
  • Da Einträge in der Windows Registry erfolgen, muss die Einrichtung als Service unter der erforderlichen Berechtigung erfolgen.
  • Da das Programm einen Port öffnet, muss das Programm ggf. beim Virenscanner angemeldet werden.
  • Damit der Client über den konfigurierten Port mit dem Server eine Verbindung aufbauen kann, muss der Port bzw. das Programm "fgh_pruef_server.exe" im Firewall zugelassen werden.
  • Nach der Installation des Services über das Programm muss abschließend über den Windows Server-Manager der Starttyp des Dienstes auf "Automatisch" gesetzt werden.

Das Programm "FGH_PRUEF_SERVER " (fgh_pruef_server.exe) befindet sich im Ordner des "soap_pruef" des InterAss Minilaufzeitsystems. Dieses wird auf Anfrage zur Verfügung gestellt und sollte nicht  in das Haupt InterAss Laufzeitsystem ("c:\programme\FGH GmbH\Interass" sofern bei der Installation nichts anderes eingegeben wurde) installiert werden.

Der Server protokolliert seine Aktionen in der Datei "service_log.txt", die im Arbeitsverzeichnis angelegt wird. Der Inhalt dieser Datei kann auch über einen Browser angezeigt werden (siehe unten). Zusätzlich werden die Aktionen des Prüfprogramms (fgh_pruef.exe) in der Datei "FGH_PRUEF.log" protokolliert. Schwerwiegende Fehler (z.B. auf Grund einer fehlerhaften Installation) werden in der Datei "fehler.txt" aufgezeichnet.
Wenn der Server als Windows-Service ausgeführt wird, werden schwere Fehler auch im Windows Ereignisprotokoll "Ereignisanzeige -> Anwendung" aufgezeichnet. Allerdings beginnt die Fehlermeldung mit einem hässlichen Text:

Die Beschreibung der Ereigniskennung ( 0 ) in ( fgh_pruef_server ) wurde nicht gefunden. Der lokale Computer verfügt nicht über die zum Anzeigen der Meldungen von einem Remotecomputer erforderlichen Registrierungsinformationen oder DLL-Meldungsdateien. Möglicherweise müssen Sie das Flag /AUXSOURCE= zum Ermitteln der Beschreibung verwenden. Weitere Informationen stehen in Hilfe und Support.
Ereignisinformationen:....

Die Fehlermeldung des Servers beginnt erst ab dem Wort Ereignisinformationen:....

 

  • Argumente beim Programmaufruf:
    fgh_pruef_server.exe [-[console|i|u|e|s|v|h]]

     
    -version  Ausgabe der Versionsinformationen.
    -console  Server auf der Console ausführen (Service muss NICHT installiert sein)
    -i(nstall) [account] [password]  Service installieren, optional Angabe von Benutzername und Kennwort unter dem der Service ausgeführt wird
    -u(ninstall)  Service deinstallieren.
    -e(xec)  Service als normale Anwendung auf der Console ausführen.
    -t(erminate)  Service beenden.
    -v  Ausgabe der Versions- und Statusinformationen des Service.
    -h(elp)  Ausgabe dieser Hilfe
     
    Keine Argumente  Starten des  Services.


     

  • Arbeitsverzeichnis: Im Server Arbeitsverzeichnis befindet sich die Steuerdatei, werden Protokolle angelegt und in temporären Unterverzeichnissen werden die übertragenen Netz- und Störungsdaten abgelegt. In diesem Verzeichnis muss der Service daher ausreichende Rechte besitzen. Damit das "richtige" Arbeitsverzeichnis zugeordnet wird, muss das Programm entweder über die Windows-Eingabeaufforderung (Console) oder über eine entsprechend konfigurierte Verknüpfung gestartet werden.

    Hinweis: Den SOAP Server zuerst nicht als Service einrichten. Starten Sie den Server über die Eingabeaufforderung und testen Sie dann die Server Funktion.
    Erst wenn alles funktioniert (insbesondere Datentausch mit dem SOAP Client) den Service einrichten:

    Arbeitsverzeichnis = c:\soap_arbeitsverzeichnis
    Wurzelverzeichnis Server-Minilaufzeitsystem = c:\progamme\FGH_GmbH\soap_server
    Eingaben auf der Console: rot
    Systemantworten: blau

    pushd C:\soap_arbeitsverzeichnis

    "c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe" -console


    FGH_PRUEF_SERVER Version 5.9.3.02 vom 30.01.18
    Listening to port 80





    Beispiel: Einrichten und Starten des Services, Eingaben in der Windows-Eingabeaufforderung

    Arbeitsverzeichnis = c:\soap_arbeitsverzeichnis
    Wurzelverzeichnis Server-Minilaufzeitsystem = c:\progamme\FGH_GmbH\soap_server
    Eingaben auf der Console: rot
    Systemantworten: blau

pushd C:\soap_arbeitsverzeichnis

"c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe" -i svuser svpass
Arbeitsverzeichnis fuer den Sevice: C:/soap_arbeitsverzeichnis
The service fgh_pruef_server has been installed under: c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe



"c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe"

"c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe" -v
The service
    fgh_pruef_server
    Version 1.0 03.02.2010
    c:\Programme\FGH_GmbH\soap_server\soap_pruef\fgh_pruef_server.exe
is installed and running

 

  • Service: Damit der Service das Prüfprogramm starten kann, darf der Service i.a. nicht unter der "system" Kennung laufen, d.h. beim Einrichten des Services müssen die Benutzerkennung und das Kennwort eines Users unter dessen Kennung der Service laufen soll angegeben werden.
    ACHTUNG: Dieser Anwender muss im Server Arbeitsverzeichnis Schreibrechte besitzen um das Logfile zu schreiben und Hilfsverzeichnisse für das Prüfprogarmm anlegen zu können (Unterverzeichnisse mit der Transaktionsnummer als Name).

  • Logfile "service_log.txt" (im Server Arbeitsverzeichnis), wird angelegt/beschrieben, wenn das Programm als Windows-Service gestartet wurde.
    In diesem Fall werden auch interne Fehlermeldungen im Windows Ereignisprotokoll (Anwendung) aufgezeichnet.
     
  • Steuerdatei
    Die Verwendung der Steuerdatei ist zwingend erforderlich. Die Datei mit dem fest vorgegebenen Namen "steuer_fgh_pruef_server.txt" muss sich im Server Arbeitsverzeichnis befinden. Ein dokumentiertes Beispiel für eine Steuerdatei mit dem Namen "steuer_fgh_pruef_server.txt" befindet sich im Verzeichnis "example" des InterAss Laufzeitsystems. In der Beispieldatei sind alle möglichen Steuerflags erklärt.
    Beachten: Bei der Verwendung relativer Pfadnamen beziehen sich diese auf das Arbeitsverzeichnis.
     
  • Windows Registry
    Damit bei der Ausführung als Windows-Service die erforderlichen Informationen zur Verfügung stehen, werden diese bei der Installation des Services in der Windows Registry abgelegt. Unter

    [HKEY_LOCAL_MACHINE\SOFTWARE\FGH GmbH\fgh_pruef_server]

    werden das Server-Arbeitsverzeichnis und der Anwendungsroot (Wurzelverzeichnis Server-Minilaufzeitsystem) eingetragen.
     
  • Webserver Schnittstelle des Prüf-Servers
    Über den konfigurierten Port (im folgenden Beispiel 81) stellt der Server einige URL's zum Aufruf über einen Internet Explorer zur Verfügung:
     
    Funktion URL
     Strom:  
     Startseite  http://localhost:81/FGHPruefStrom/FGHPruefStrom.asmx
     Ausgabe der WSDL  http://localhost:81/FGHPruefStrom/FGHPruefStrom.asmx?WSDL
     Aktive Transaktionen  http://localhost:81/FGHPruefStrom/FGHPruefStrom.asmx?transaktionsliste
     Zeige Server-Protokoll  http://localhost:81/FGHPruefStrom/FGHPruefStrom.asmx?protokoll
     Zeige Server-Menü  http://localhost:81/FGHPruefStrom/FGHPruefStrom.asmx?status
       
     Gas:  
     Startseite  http://localhost:81/FGHPruefGas/FGHPruefGas.asmx
     Ausgabe der WSDL  http://localhost:81/FGHPruefGas/FGHPruefGas.asmx?WSDL
     Aktive Transaktionen  http://localhost:81/FGHPruefGas/FGHPruefGas.asmx?transaktionsliste
     Zeige Server-Protokoll  http://localhost:81/FGHPruefGas/FGHPruefGas.asmx?protokoll
     Zeige Server-Menü  http://localhost:81/FGHPruefGas/FGHPruefGas.asmx?status


     

  • Minimales Interass Laufzeitsystem
    Das Paket SOAP_SERVER sollte unabhängig von InterAss installiert werden.
    Das Paket enthält:
    • soap_pruef - enthält das Laufzeitsystem des SOAP-Servers
    • fgh_pruef - enthält das Laufzeitsystem des FGH Prüfprogramms (beinhaltet ein minimales InterAss Laufzeitsystem)
    • test_client - enthält das Laufzeitsystem eines Test Clients zum Testen des SOAP Servers
    • test- enthält Musterkonfigurationsdateien und Test-Kommando-Dateien
Die Laufzeitsystem enthalten jeweils das Qt-Laufzeitsystem, das Visual-Studio Laufzeitsystem, OpenSSL-Dll's und das jeweilige FGH-Laufzeitsystem (Supportdateien) des Programms.

Hinweise:

  • Der Soap Server ist im normalen InterAss Laufzeitsystem nicht enthalten.
     
  • Der Server wird nur als ZIP-Archiv verteilt. Dieses enthält nur das minimale InterAss Laufzeitsystem, jedoch keinen Setup.
    Auf Windows Servern sind daher ggf. weitere Schritte erforderlich.

 

  • Wenn auf einem Rechner mehrere Instanzen des SOAP-Servers ausgeführt werden sollen, so muss die EXE kopiert und umbenannt werden.
    Und anschließend der Dienst über dieses EXE installiert werden.

    Beispiel: weiteres EXE ist fgh_pruef_server_report.exe
    Dann ist der Name des Dienstes "fgh_pruef_server_report" und (bitte beachten) der Name der Steuerdatei lautet dann "steuer_fgh_pruef_server_report.txt"

Test Client fgh_client.exe

Der Test-Client ermöglicht den Testzugriff auf den FGH_PRUEF_SERVER über das SOAP Protokoll.Das Testprogramm liest XML Dateien für Gas/Strom Netze und Meldungen/Störungen ein und überträgt die Inhalte über den Webservice. Das Prüfprotokoll "report.xml" wird im "Arbeitsverzeichnis" abgelegt. Falls in diesem Verzeichnis eine Kopie der Datei "fgh_pruef.xsl" vorhanden ist, kann der Report unmittelbar in einem Internet Explorer visualisiert werden.
Hinweis: Nach einer Änderung der Host-Daten muss das Programm neu gestartet werden.

 

Wenn der Server nicht gestartet werden kann

Aktuelles Windows
Meist gar keine Fehlermeldung, oft hilft die Installation des Visual-Studio Laufzeitsystems (vcredist_x86.exe).
Bitte informieren Sie uns, wenn das nicht hilft.


Fehlermeldung Windows XP
Console: Das angegebene Programm kann nicht ausgeführt werden.

Explorer: .....\fgh_pruef_server.exe

Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist.
Zur Problembehebung sollten Sie die Anwendung neu installieren.

oder

Die Anwendung konnte nicht richtig initialisiert werden (0xc0150002). ...



Windows Vista/7

1. Die Manifestdatei wird nicht gefunden (z.B. umbenannt)

fgh_pruef_server.exe - Systemfehler
Das Programm kann nicht gestartet werden, da MSVCP80.dll auf dem Computer fehlt.
Installieren Sie das Programm erneut, um das Problem zu beheben.


2. die geforderte DLL Version ist nicht im System

Diese Anwendung konnte nicht gestartet werden, da die Side-by-Side-Konfiguration ungültig ist.
Weitere Informationen finden Sie im Anwendungsereignisprotokoll.
Weitere Details können auch mit dem Befehlszeilentool sxstrace.exe angezeigt werden.

Ereignisanzeige:
Protokollname: Application
Quelle: SideBySide
Datum: 21.07.2010 15:11:43
Ereignis-ID: 33
Aufgabenkategorie:Keine
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: RADLACH7
Beschreibung:
Fehler beim Generieren des Aktivierungskontextes für ....
Die abhängige Assemblierung "Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.5555""
konnte nicht gefunden werden. Verwenden Sie für eine detaillierte Diagnose das Programm "sxstrace.exe".


Lösungen:
Fehlende Dateien finden sie möglicherweise im Verzeichnis "server_start_problem",
gegebenenfalls müssen für Ihre Hardware bzw. Betriebsysteme entsprechende Dateien beschafft werden.

Der Server ist eine Anwendung, welche mit Microsoft Visual C++ 2005 erzeugt wurde.
Falls die obigen Fehler kommen, sollte das
"Microsoft Visual C++ 2005 Redistributable Package" (vcredist_x86_sp1.exe (9.0.30729.17))
http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647
installiert werden.

Möglicherweise ist die Version des .NET-Frameworks zu aktualisieren.

In einigen Fällen hat es geholfen das Verzeichnis "Microsoft.VC80.CRT" in das Verzeichnis zu kopieren, wo sich "fgh_pruef_server.exe" befindet.
Das funktioniert aber nicht, wenn die geforderten DLL's bereits im System vorhanden sind.

In diesen Fällen hilft es möglicherweise in der Datei "fgh_pruef_server.exe.manifest" die im System gefundene Versionsnummer einzutragen.


Auf einem Windows Server 2003 R2 mussten die Microsoft Visual C++ Redistributables 2005 und 2008 ausgeführt werden, damit die WinSxS-Policies (\WINDOWS\WinSxS\Policies) entsprechend erstellt werden. Zusätzlich mussten die folgende Dateien nachträglich dorthin kopiert werden: "8.0.50727.4053.cat" und "8.0.50727.4053.policy"


Auf einem Rechner mit Windows XP waren zusätzlich zur Installation von vcredist_x86_sp1.exe folgende Aktionen erforderlich:

- kopiere Verzeichnis x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989 in das Verzeichnis C:\WINDOWS\WinSxS
- kopiere Verzeichnis x86_policy.8.0.Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_x-ww_77c24773 in das Verzeichnis C:\WINDOWS\WinSxS\Policies
- kopiere Datei x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989.manifest in das Verzeichnis C:\WINDOWS\WinSxS\Manifests
- kopiere Datei x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989.cat in das VerzeichnisC:\WINDOWS\WinSxS\Manifests


 

 

 

 

Pie 05.03.18


 
© 2018 FGH GmbH Mannheim. Alle Rechte vorbehalten.