Schnittstelle Prodabau
Dienst zur Registrierung von Ereignissen

Für die Registrierung von Ereignissen und weitere Methoden stellt die Schadenerfassung-App einen Dienst bereit. Dieser kann über die URL:

http://[cardo-Basisadresse]/net3/project/cardo3apps/IDU_app_LTV_Schadenerfassung/services/prodabau.asmx

aufgerufen werden und benötigt eine Authentifizierung über einen cardo-Account. Dieser muss

  1. Mitglied der Gruppe SE_LTV_DIENST sein
  2. in den Anwendungseinstellungen das Recht 'Ereignisse-Dienst benutzen' bekommen
  3. An den Ebenen für Gemeinden und Ortsteile das Recht 'Geodaten rendern' und 'Sachdaten anzeigen' haben

Auf dem LTV-Testsystem z.B. wurde der Benutzer 'LTVS/1KundHDienst' für diesen Zweck angelegt. Dieser wird auch im Produktivsystem verwendet.

Derzeit muss im IIS-Manager für diesen Dienst 'Anonyme Authentifizierung' eingestellt werden (cardo übernimmt dann die Authentifizierung), da NTLM-Auth im Zusammenspiel Prodabau-cardo nicht funktioniert. An folgendem Verzeichnis ist die Windows-Auth zu deaktivieren und die Anonymous-Auth zu aktivieren:

im InetMgr: cardo3/net3/project/cardo3apps/IDU_app_LTV_Schadenerfassung/services

Kommt im Prodabau eine Meldung:

SOAP-ERROR: Parsing WSDL ... failed to load external entity
-> dann könnte die Ursache sein, dass die Anonymous-Auth für den Dienst nicht aktiviert ist 

Wichtig: Kommt beim Übertragen von Prodabau zu cardo eine Validierungsmeldung, dass ein Feld nicht optional ist, dann kann das an fehlender Leseberechtigung liegen. Das kann auch passieren, wenn SE_LTV_DIENST in einer Gruppe wie SE_LTV_LESER steckt, welche an einigen Feldern die Rechte verweigert. 

 

 

Der Dienst stellt folgende Methoden bereit:

AddEreignis: Registrieren von neuen Ereignissen in der SchadensApp

Über diesen Dienst registrierte Ereignisse werden in der Schadenerfassungs-App aufgelistet und können dort weiter behandelt werden.

MarkSchadenAsDeleted: In Puzzle wird die ProdabauId am Schaden zurückgesetzt und der Parameter 'für Prodabau relevant' wird auf false gesetzt

SetEreignisActiveState: Dient der Prodabau, den Status des Feldes 'Ungültig setzen' an cardo zu übermitteln.

UpdateSchaden: Aktualisierung eines bereits zu Prodabau übertragenen und dort geänderten Schadens

 

Prodabau: Übertragung von Ereignissen an das cardo

In Prodabau ist die Tabelle der Ereignisse zu finden unter dem Menü

Administration/Kataloge/Ereignisse.

Für den Zugriff auf diese Tabelle wird das Prodabau-Recht 'LTV-Fachadmin' benötigt.

An einem Ereignis gibt es dann den Knopf 'zu cardo übertragen'.

Zugriff auf Prodabau Nachschlagetabellen

Die meisten Nachschlagetabellen zu einem Schadensereignis werden mit entsprechenden Nachschlagetabellen aus Prodabau abgeglichen. Dazu ist eine Verbindung in Form eines direkten Datenbankzugriffs auf die Prodabau notwendig.

Die benötigte Verbindungszeichenfolge muss in den Anwendungsparametern eingestellt werden und hat typischerweise die Form (SQL Server):

Data Source=localhost\SQLEXPRESS;Initial Catalog=Prodabau;User Id=prodabau;Password=xxx

Prodabau stellt die Nachschlagetabellenwerte in Form folgender Views bereit:

  • view_cp_betrieb
  • view_cp_gebietskulisse
  • view_cp_gemeindeverzeichnis
  • view_cp_kostenstelle
  • view_cp_lage_zum_gewaesser
  • view_cp_objektkategorie
  • view_cp_schadenzustaendigkeit
  • view_cp_prioritaet

Diese Views werden direkt aus der SchadenerfassungsApp per SQL ausgelesen.

Schnittstelle zum Bildabruf aus cardo

Die Bilder können aus cardo über folgende URL abgerufen werden:

http://[cardo-Basisadresse]/net3/ogcsl.ashx?Service=IKX&Request=GetBlobData&StObjectDataId=[ObjectDataId]&ikxStoreId=[StoreId]&ts=637078761824501460

  • ObjectDataId - Id des Bildes, die bei Übergabe des Schadens an die Prodabau mit übermittelt wurde
  • StoreId - ID des IKX-Stores in welchem die Schadens-Daten abgelegt sind
  • ts - empfohlen: ein aktueller Timestamp um Rückgabe des Bildes aus dem Browsercache zu verhindern

 

Auf Seiten der Prodabau befindet sich die Konfiguration des Bildabrufs in der Konfigurationsdatei:

<PRODA-BAU-TEST-Verzeichnis>/software/webroot/config/conf.xml

Dort gibt es einen 'service'-Knoten mit der ID 'CardoPuzzleSchadenErfassung' unter welchem die URL des Dienstes sowie der Account für den Abruf des Bildes hinterlegt sind.

Von Prodabau bereitgestellter Dienst

Von Prodabau wird ein SOAP-Dienst bereit gestellt, über welchen die cardo-SchadensApp erfasste Schäden an Prodabau übertragen kann. Die Web-Adresse des Dienstes muss in der App-Konfiguration hinterlegt werden.

Die URL zum Prodabau-Dienst hat normalerweise das Format:

http://[Prodabau-Server]/prodabau_schaden_test/service_schaden.php

Die Absicherung des Dienstes erfolgt über eine Einschränkung der aufrufenden IP-Adressen (Stand 02/2020).

Für Testzwecke kann der Dienst auch im Browser über die URL

http://[Prodabau-Server]/prodabau_schaden_test/service_schaden.php?wsdl

aufgerufen werden und sollte ein XML-Manifest seiner Methoden liefern.