Automatische Synchronisation

XML-RPC, hibiscus-server, UI automation?

 
peter99
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 09 / 2014
Betreff:

Automatische Synchronisation

 · 
Gepostet: 03.03.2016 - 23:25 Uhr  ·  #1
Ich bin seit bald zwei Jahren begeisterter HIbiscus-Nutzer. Kürzlich habe ich die XML-RPC-Erweiterung getestet, um die Kontosalden für Reports nutzen zu können. Nun würde ich diese Reports gerne automatisiert erstellen lassen. Dazu wäre es natürlich toll, wenn die Synchronisation automatisch stattfinden würde oder ich sie scriptbasiert anstoßen könnte. Soweit ich es gesehen haben bietet die XML-RPC-Erweiterung das nicht als Funktion an. Deswegen habe ich den Hibiscus-Server ausprobiert, allerdings festgestellt, dass die verschlüsselte Embedded-Datenbank (H2) zu einem Zeitpunkt nur vom Server oder dem Client benutzt werden kann. Die Datenbank wird vom ersten Prozess gesperrt. Eine andere Datenbank wie MySQL, welche simultane Zugriffe von Server und Client zulassen, möchte ich der fehlenden Verschlüsselung wegen nicht einsetzen. Und dem Client fehlen scheinbar die Bestandteile des Servers zur automatischen Synchronisation.

Meine Frage ist: gibt es irgendeine Möglichkeit, die Synchronisation des Clients über die Kommandozeile zu starten? Oder kann ich die Serverkomponente(n) irgendwie in den Client integrieren (bzw. umgekehrt), so dass der Server zusammen mit dem Client gestartet wird? Ein erster Versuch mit einer manuell zusammenkopierten Installation war ganz vielversprechend. Hat irgendjemand zu diesem Thema Erfahrungen oder einen Ratschlag?

Besten Gruß!
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11180
Dabei seit: 03 / 2005
Betreff:

Re: Automatische Synchronisation

 · 
Gepostet: 04.03.2016 - 09:08 Uhr  ·  #2
Nochmal zum Verstaendnis: Du verwendest Hibiscus im Desktop-Modus - also mit richtiger Benutzeroberflaeche? Und du hast in dieser Installation auf das hibiscus.xmlrpc-Plugin installiert, um damit auf die Daten zugreifen zu koennen?

Dann koenntest du mal den Hibiscus-Server runterladen und dir aus dem Ordner "plugins" nur das Plugin "hibiscus.server" rauskopieren. Das gibt es einzeln nicht als Download. Es enthaelt den Scheduler und das Webinterfache. Dieses Plugin kopierst du in den "plugins"-Ordner deiner existierenden Installation. Jetzt solltest du unter https://localhost:8080/hibiscus das Webfrontend von Hibiscus haben (Login identisch zur XML-RPC-Schnittstelle). Dort findest du rechts einen Button "Synchronisierung jetzt manuell starten". Den kannst du auch "automatisiert" ausloesen, indem du die URL https://localhost:8080/hibiscus/?action=execute aus einem Script/Programm heraus aufrufst.

Jetzt kommt aber der Haken: Ich habe keine Ahnung, ob das bei dir funktioniert. Denn: Normalerweise ist bei der Synchronisierung mit der Bank ja Benutzerinteraktion noetig (insb. Eingabe der PIN). Im Server-Betrieb ohne verfuegbare Benutzerinteraktion geht das natuerlich nicht. Daher ist das Plugin "hibiscus.server" auch in der Art eine Erweiterung fuer Hibiscus, dass es diese PINs verschluesselt speichert und bei Bedarf direkt verwendet - ohne den Benutzer zu fragen. Wenn du das jetzt aber im Desktop-Modus laufen laesst, koennte es hier zu Konflikten kommen. Der Server will die PIN-Abfrage selbst beantworten, hat die Daten aber gar nicht. Eigentlich habe ich das so implementiert, dass der Server sich an der automatischen PIN nur dann versucht, wenn keine GUI verfuegbar ist. Heisst: Eigentlich muesste es gehen. Ich habe es aber nie getestet.

Du musst es also ausprobieren.
peter99
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 2
Dabei seit: 09 / 2014
Betreff:

Re: Automatische Synchronisation

 · 
Gepostet: 07.03.2016 - 13:03 Uhr  ·  #3
Leider hatte ich nicht den gewünschten Erfolg. Wie vorgeschlagen habe ich in die bestehende Installation das Plugin hibiscus.server kopiert. Daraufhin sind in der GUI alle Bank-Zugänge verschwunden. Ich habe dann versucht, die Zugänge neu anzulegen. In der GUI bekommen ich dabei die Fehlermeldung "Fehler beim Erstellen der Konfiguration", im Webinterface des Server kommt folgende Fehlermeldung: "Fehler beim Speichern der PIN/TAN-Einstellungen: error while opening pin/tan passport; nested exception is: org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Erzeugen eines HBCIHandler Objektes". Schade, aber es war einen Versuch wert.

Ich werde das wohl erstmal so lassen oder es vielleicht mit einem GUI-Automatisierungstool versuchen.

Richtig praktisch wäre es natürlich, wenn die XML-RPC-Schnittstelle auch ohne Server eine Methode zum Anstoßen der Synchronistaion anbietet. Dass GUI-Interaktion notwendig sein könnte, ist selbstverständlich, bei mir allerdings nicht der Fall.

Vielen Dank für die Unterstützung!
Gewählte Zitate für Mehrfachzitierung:   0