Zitat geschrieben von SebastianM
Hallo,
ich habe mir jetzt die HBCI4Java Bibliothek unter Android nochmal genauer angeschaut und konnte das o.g. Problem lösen. Hab jetzt ein kleines Testprogramm zum Lesen meiner Kontoauszüge (HBCI-300) und Umsätze in Android am Laufen. Dabei sind folgende Probleme/Lösungen aufgetreten.
1. Ver-/Entschlüsselung des Passports in HBCIPassportPinTan.java mit Cipher funktioniert unter Android nicht so wie in einer jdk 1.6 Umgebung. Als Workaround habe ich einfach eine HBCIPassportMyPinTan.class ohne Verschlüsselung erstellt. Die Verschlüsselung werde ich dann wieder anschalten wenn meine Projektidee etwas reift
2. Der im ersten Posting aufgezeigte Fehler "org.kapott.hbci.exceptions.NoSuchPathException: no syntax-element with path DialogInit.MsgHead.dialogid found" kommt daher, daß anscheinend der XML DOM Parser in Android die Entity Reference Nodes nicht so auflöst wie in der jdk Umgebung. Als "quick and dirty" Lösung kann man die Entities in den entsprechenden Dateien manuell auflösen. Das geht auch automatisiert z.B. als Task im build script. Schon werden die hbci Messages auch ohne Fehler erstellt.
Vorerst reicht mir diese Lösung. Vielleicht mache ich mir mal später nochmal die Mühe die Entitiy Reference Verarbeitung in Android weiter zu analysieren und hier ggf. ein Patch zu erstellen.
3. Zu guter Letzt kann man unter Android keine SSL Instanz erstellen sondern muss hier eine TLS-Instanz nutzen (in PinTanSSLSocketFactory.java)
So jetzt werde ich mir weiter Gedanken machen wie ich mein kleines Testprogramm zu einem interessanten Android Open Source Homebanking Programm entwickeln kann :roll:
Über Anregungen, Ideen oder Anforderungen würde ich mich sehr freuen.
Viele Grüße
Sebastian
ich habe mir jetzt die HBCI4Java Bibliothek unter Android nochmal genauer angeschaut und konnte das o.g. Problem lösen. Hab jetzt ein kleines Testprogramm zum Lesen meiner Kontoauszüge (HBCI-300) und Umsätze in Android am Laufen. Dabei sind folgende Probleme/Lösungen aufgetreten.
1. Ver-/Entschlüsselung des Passports in HBCIPassportPinTan.java mit Cipher funktioniert unter Android nicht so wie in einer jdk 1.6 Umgebung. Als Workaround habe ich einfach eine HBCIPassportMyPinTan.class ohne Verschlüsselung erstellt. Die Verschlüsselung werde ich dann wieder anschalten wenn meine Projektidee etwas reift
2. Der im ersten Posting aufgezeigte Fehler "org.kapott.hbci.exceptions.NoSuchPathException: no syntax-element with path DialogInit.MsgHead.dialogid found" kommt daher, daß anscheinend der XML DOM Parser in Android die Entity Reference Nodes nicht so auflöst wie in der jdk Umgebung. Als "quick and dirty" Lösung kann man die Entities in den entsprechenden Dateien manuell auflösen. Das geht auch automatisiert z.B. als Task im build script. Schon werden die hbci Messages auch ohne Fehler erstellt.
Vorerst reicht mir diese Lösung. Vielleicht mache ich mir mal später nochmal die Mühe die Entitiy Reference Verarbeitung in Android weiter zu analysieren und hier ggf. ein Patch zu erstellen.
3. Zu guter Letzt kann man unter Android keine SSL Instanz erstellen sondern muss hier eine TLS-Instanz nutzen (in PinTanSSLSocketFactory.java)
So jetzt werde ich mir weiter Gedanken machen wie ich mein kleines Testprogramm zu einem interessanten Android Open Source Homebanking Programm entwickeln kann :roll:
Über Anregungen, Ideen oder Anforderungen würde ich mich sehr freuen.
Viele Grüße
Sebastian
Hallo Sebastian,
ich versuche das gleiche wie Du und stoße natürlich auch auf die gleichen Probleme. Leider habe ich erst jetzt diesen Beitrag entdeckt.
Beim Parsen der jeweiligen hbci.xml werden Fehler geworfen. Testweise habe ich die DTD Regeln aus der xml-datei gelöscht, dann funktionierte das parsen. Allerdings gibt's dann an späterer Stelle Fehler. Ich vermute, dass ich zunächst für ein korrektes (DOM) Document Object sorgen muss.
Könntest Du Deinen Satz etwas genauer erläutern:
Zitat
Als "quick and dirty" Lösung kann man die Entities in den entsprechenden Dateien manuell auflösen
Hast Du kein DOM gebildet und stattdessen etwas anderes benutzt?
vg,
Tobias