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:
- BeginnTransaktion: Übergabe von Steuerdaten,
Rückgabe einer Transaktionsnummer
- TransNetze: Übertragen der Netzdaten im
FNN/FGH XML-Format
- TransStoerungen: Übertragen der
Störungsdaten im FNN/FGH XML-Format
- ErgebnisPruefung: Datenprüfung auf dem Server
anstoßen und Rückgabe des Prüfprotokolls
- 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.
|