hibiscus.xmlrpc mit Perl

 
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 35
Dabei seit: 12 / 2013
Betreff:

hibiscus.xmlrpc mit Perl

 · 
Gepostet: 07.01.2014 - 19:39 Uhr  ·  #1
Hallo Forum,

meine ersten Gehversuche mit hibiuscus schreiten (langsam) voran.

hibiscus.xmlrpc unter Perl via hibiscus-server bietet wunderbare Möglichkeiten, auch wenn mich die Perl-Referenzen hier und da heute ein graues Haar hat sprießen lassen. Fehlendes Training ....


hibiscus.xmlrpc.sepaueberweisung.create war problemlos anwendbar, nachdem ich RPC::XML::struct->new fand.
Dies als Hinweis an alle Perl-Programmierer, die beim Googeln auf diesen Beitrag stoßen ....


Nur will hibiscus.xmlrpc.ueberweisung.create einfach nicht funktionieren.

Vom Prinzip her ist der Aufruf doch analog zu

Code
$resp = $cli->send_request('hibiscus.xmlrpc.umsatz.list', ('','05.01.2014','01.01.2015'));


d.h. für ueberweisung.create einmal konkret:

Code
$resp = $cli->send_request('hibiscus.xmlrpc.ueberweisung.create', ('5', '192077108', '20010020', 'Dagobert Duck', 'Verwendungszweck', '1401071440', 1.00, '07.01.2015','') );


Als Fehler erhalte ich:
No method matching arguments: java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String


Macht er mir irgendwo aus meinen reinen Ziffern-Strings einen Integer? Wie kann ich das verhindern?


Code
$resp = $cli->send_request('hibiscus.xmlrpc.sepaueberweisung.delete', ("3"));


bemängelt er mit der Fehlermeldung "No method matching arguments: java.lang.Integer"


Verwende ich den unmöglichen String

Code
$resp = $cli->send_request('hibiscus.xmlrpc.sepaueberweisung.delete', ("\"3\""));   


kann ich als Fehlermeldung folgendes provozieren:
"Failed to invoke method delete in class de.willuhn.jameica.hbci.xmlrpc.server.SepaUeberweisungServiceImpl: object [id: "3", type: de.willuhn.jameica.hbci.server.AuslandsUeberweisungImpl] not found"


Ich denke meine Probleme beruhen alle auf dem identischen Logikfehler. Was mache ich falsch? Kann wer helfen?
Herzlichen Dank

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

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 07.01.2014 - 23:25 Uhr  ·  #2
Du verwendest zum Anlegen der Ueberweisung die veraltete Funktion. Es gibt auch eine neue, die wie bei der SEPA-Ueberweisung ein Struct erwartet. Siehe http://www.willuhn.de/wiki/dok…ag_anlegen

Zum dem anderen Problem: Sieht so aus, als wuerde da Perl bei den Parametern automatische Typ-Konvertierungen von String zu Integer machen, weil als Wert bei einigen der Parameter Zahlen drin stehen. Du muesstest also mal recherchieren, wie du explizit als Typ String angeben kannst. Auf o.g. Wikiseite siehst du in den PHP-Beispielen auch, welche Typen erwartet werden.
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 35
Dabei seit: 12 / 2013
Betreff:

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 13:36 Uhr  ·  #3
Hallo Olaf,

herzlichen Dank für die Anregung.

Folgendes hilft, um einer Ziffer den Typ String mit auf den Weg zu geben:
Code
    $Params = RPC::XML::struct->new('name'             => 'Entenhausen',
                                    'kontonummer'      => RPC::XML::string->new('120107978'),
                                    'blz'              => RPC::XML::string->new('20010020'),    
                                    'betrag'           => '1,00', 
                                    'verwendungszweck' => 'Verwendungszweck140108-0938',                   
                                    'termin'           => '08.01.2014',
                                    'konto'            => RPC::XML::string->new('5')); 



Nur leider bin ich auf das nächste Problem gestoßen.
Nachdem ich SEPA-Lastschriften und SEPA-Überweisungen via xmlrpc generieren konnte und auch im hibiscus-server als Anstehende HBCI-Aufträge erscheinen, scheitert die Synchronisation und die Übertragung an die Deutschen Bank.

Fehler beim Hinzufügen des Auftrages UebSEPA1 zum aktuellen Dialog

Wobei der idsntische Fehler auch bei CORE und COR1 Lastschriften auftritt.
Detailliertere Infos, wie unter https://www.willuhn.de/bugzilla/show_bug.cgi?id=1458 beschrieben habe ich leider keine.


Kann es an der Deutschen Bank liegen?


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

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 14:03 Uhr  ·  #4
Eventuell solltest du die Nightly-Builds verwenden. Der Payment-Server basiert noch auf Hibiscus 2.6.0. In Hibiscus 2.6.1 sind ein paar kleinere Sachen eingebaut worden, die hier eventuell relevant sein koennten. Falls das nicht hilft, muesstest du mal den entsprechenden Bereich aus der jameica.log posten.
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 35
Dabei seit: 12 / 2013
Betreff:

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 15:28 Uhr  ·  #5
Hallo Olaf,

ich setze das aktuelle hibiscus-server-2.7.0-nightly ein.

Anbei einmal das Log.
Eine normale Überweisung konnte ich beauftragen, weshalb ich ausschließe, dass es an Berechtigungen seitens der Bank liegt.


Code
[Wed Jan 08 15:16:43 CET 2014][INFO][de.willuhn.jameica.hbci.xmlrpc.server.AbstractBaseUeberweisungServiceImpl.createObject] created transfer [ID: 26 (de.willuhn.jameica.hbci.server.SepaLastschriftImpl)]
[Wed Jan 08 15:17:30 CET 2014][INFO][de.willuhn.jameica.sensors.service.impl.SchedulerImpl$Worker.run] collected data from device: JVM Statistics
[Wed Jan 08 15:17:30 CET 2014][INFO][de.willuhn.jameica.sensors.service.impl.SchedulerImpl$Worker.run] collected data from device: hibiscus.server: statistics
[Wed Jan 08 15:17:30 CET 2014][INFO][de.willuhn.jameica.sensors.notify.RuleProcessor.handleRule] [jameica.sensors][Scheduler - Scheduler Status] STILL OUTSIDE limit. current value: 0, limit: 1
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.messaging.StatusBarServerMessageConsumer.handleMessage] Synchronisierung läuft
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.payment.server.ExecuteServiceImpl.run] synchronizing 2 backends
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.payment.server.ExecuteServiceImpl.sync] synchronizing backend HBCI with 3 jobs
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend.execute] starting HBCI synchronization
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.<init>] accounts to synchronize: 2, jobs: 3
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.updateStatus] updating synchronization status to: RUNNING
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Synchronisierung via HBCI läuft
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.messaging.StatusBarServerMessageConsumer.handleMessage] Synchronisierung via HBCI läuft
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run] BEGIN synchronization of account 1/2
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.log]  
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.log] Synchronisiere Konto: Kontokorrentkonto, Kto. XXXXXXXXX [Deutsche Bank Privat und Geschäftskunden]
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Initialisiere HBCI-Sicherheitsmedium
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Erzeuge HBCI-Handle
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Ã–ffne HBCI-Verbindung
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.server.PassportHandleImpl.open] open rdh passport
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.RDHKeyFactory.findByKonto] found config via account. url: /root/.jameica/hibiscus/passports/keyfile.hibiscus
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.server.PassportHandleImpl.open] using passport file /root/.jameica/hibiscus/passports/keyfile.hibiscus
[Wed Jan 08 15:17:44 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.keyformat.HBCI4JavaFormat.load] load RDHNew key /root/.jameica/hibiscus/passports/keyfile.hibiscus
[Wed Jan 08 15:17:44 CET 2014][WARN][de.willuhn.jameica.hbci.passports.rdh.keyformat.HBCI4JavaFormat.load] unable to register current handle, callback: de.willuhn.jameica.hbci.payment.HBCICallbackServer@262f801d
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.server.PassportHandleImpl.open] using HBCI version 300
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync] processing jobs
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Aktiviere HBCI-Job: "Kontokorrentkonto, Kto. XXXXXXXXX [Deutsche Bank Privat und Geschäftskunden]: (null) 1,00 EUR von Dagobert Duck einziehen"
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync] adding job LastSEPA to queue
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.payment.HBCICallbackServer.log] searching for value of "cannationalacc" in HISPAS
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.payment.HBCICallbackServer.log] cannationalacc=N
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.payment.HBCICallbackServer.log] adding job LastSEPA1 to dialog
[Wed Jan 08 15:17:45 CET 2014][WARN][de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync] found errors or synchronization cancelled, clear PIN cache
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.close] closing resources
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.server.PassportHandleImpl.close] closing rdh passport
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.passports.rdh.server.PassportHandleImpl.close] rdh passport closed
[Wed Jan 08 15:17:45 CET 2014][ERROR][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run] error while synchronizing
org.kapott.hbci.exceptions.HBCI_Exception: Fehler beim Hinzufügen des Auftrages LastSEPA1 zum aktuellen Dialog
        at org.kapott.hbci.manager.HBCIDialog.addTask(HBCIDialog.java:520)
        at org.kapott.hbci.manager.HBCIHandler.addJobToDialog(HBCIHandler.java:365)
        at org.kapott.hbci.GV.HBCIJobImpl.addToQueue(HBCIJobImpl.java:1107)
        at org.kapott.hbci.GV.HBCIJobImpl.addToQueue(HBCIJobImpl.java:1112)
        at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync(HBCISynchronizeBackend.java:231)
        at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:380)
        at de.willuhn.jameica.system.Server$1.run(Server.java:108)
Caused by: org.kapott.hbci.exceptions.InvalidUserDataException: Property usage wurde nicht gesetzt
        at org.kapott.hbci.GV.HBCIJobImpl.verifyConstraints(HBCIJobImpl.java:471)
        at org.kapott.hbci.GV.AbstractSEPAGV.verifyConstraints(AbstractSEPAGV.java:388)
        at org.kapott.hbci.manager.HBCIDialog.addTask(HBCIDialog.java:469)
        ... 6 more

[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.payment.messaging.SynchronizeErrorMessageConsumer.handleMessage] stop sync on error: true
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.updateStatus] updating synchronization status to: ERROR
[Wed Jan 08 15:17:45 CET 2014][ERROR][de.willuhn.jameica.system.ConsoleMonitor.setStatusText] Synchronisierung fehlgeschlagen: Fehler beim Hinzufügen des Auftrages LastSEPA1 zum aktuellen Dialog
[Wed Jan 08 15:17:45 CET 2014][ERROR][de.willuhn.jameica.messaging.StatusBarServerMessageConsumer.handleMessage] Synchronisierung fehlgeschlagen: Fehler beim Hinzufügen des Auftrages LastSEPA1 zum aktuellen Dialog
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run] stopping synchronization
[Wed Jan 08 15:17:45 CET 2014][INFO][de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run] finished



Kannst Du da etwas sinnvolles erkennen?

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

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 15:49 Uhr  ·  #6
Zitat geschrieben von BiberBank

Kannst Du da etwas sinnvolles erkennen?


Ja ;)

Code

InvalidUserDataException: Property usage wurde nicht gesetzt 


Da fehlt der Verwendungszweck im Auftrag.
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 35
Dabei seit: 12 / 2013
Betreff:

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 16:10 Uhr  ·  #7
V E R F L U C H T !

Und so ein Schusseligkeitsfehler mir :devil:

War ein Tippfehler ....

Supi! COR1 erscheint bei der DB schon in den Voransichten.

Bin echt schwer beeindruckt! 8-)

Bevor ich nun die Sache in den Produktivbetrieb überführe und rm -R aqbaning tippe noch eine kurze Frage:

wo erläuterst Du, wie du mir eine Rechnung schreiben kannst (bevorzugt) oder wie ich dir sonstwie steuerlich suboptimal etwas zukommen lassen kann?

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

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 16:20 Uhr  ·  #8
Zitat
wo erläuterst Du, wie du mir eine Rechnung schreiben kannst (bevorzugt) oder wie ich dir sonstwie steuerlich suboptimal etwas zukommen lassen kann?


Ich kann leider keine Rechnungen schreiben, da ich kein Gewerbe mehr habe. Hibiscus & Co. sind rein private Freizeit-Projekte. In Hibiscus gibt es eine Spendenfunktion. Wenn du da im Verwendungszweck deine Mailadresse hinterlegst, kann ich dir einen formlosen Beleg dafuer mailen. Der ist zwar natuerlich ohne UST, aber als steuerlich relevanten Aufwand kannst du den sicher in deine Fibu uebernehmen.
BiberBank
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 35
Dabei seit: 12 / 2013
Betreff:

Re: hibiscus.xmlrpc mit Perl

 · 
Gepostet: 08.01.2014 - 16:33 Uhr  ·  #9
ich habe "nur" den Server.

'Ne Spendenfunktion oder besser eine PayPal-Adresse bzw. ein Hinweis auf eine Kontoverbindung wäre dort sicherlich irgendwo gut unterzubringen.

Gruß
Heiko
Gewählte Zitate für Mehrfachzitierung:   0