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
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
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'.
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:
Diese Views werden direkt aus der SchadenerfassungsApp per SQL ausgelesen.
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
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 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.