PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Hier gibt es Support zu den Plugin der neuesten Generation des Hibiscus-Mashup Projekts von Sebastian Richter
HappyUser
Beiträge: 2
Registriert: So 19. Jul 2026, 09:19

PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von HappyUser » So 19. Jul 2026, 09:41

Hallo,

über die Suche habe ich leider nichts finden können:

Beim Abruf meines PayPal-Kontos tritt seit kurzem reproduzierbar ein Fehler auf.

System:
- Windows 11
- Jameica 2.12.0
- Hibiscus 2.12.4
- Finance.Websync 0.9.83
- Hibiscus Mashup 0.9.48

PayPal:
- privates PayPal-Konto
- Zugriff über klassische NVP/SOAP API
- API-Authentifizierung funktioniert erfolgreich

Verhalten:
Die Anmeldung an der PayPal-API ist erfolgreich.
Anschließend startet die Transaktionssuche:
"Rufe API-URLs auf und starte Aufbau des Kontoauszuges"

Danach bricht der Abruf mit
StringIndexOutOfBoundsException
ApiPull.java:585
ab.

Die letzte erfolgreiche Synchronisierung war am 04.06.2026.
Die letzte in Hibiscus importierte Buchung ist vom 28.05.2026.
Im PayPal-Konto existieren danach weitere Umsätze.

Ich habe testweise das API-Intervall von 720 Stunden auf 24 Stunden reduziert oder auch 721 erhöht.
Der Fehler bleibt bestehen, lediglich die Out-of-Bounds-Position verändert sich.
Es sieht für mich so aus, als würde der Parser eine von PayPal gelieferte Antwort nicht mehr korrekt verarbeiten.

Hat sich das API-Format geändert oder ist der Fehler bereits bekannt?

Vielen Dank.


Code: Alles auswählen

[19.07.2026 09:02:35] Synchronisierung via non-HBCI (Hibiscus Mashup) läuft
[19.07.2026 09:02:35]  
[19.07.2026 09:02:35] System-Info: OS[Windows 11 (ver. 10.0) amd64]  Platform[Jameica 2.12.0 | Build: 1 vom 20251029]  Plugin[hibiscus 2.12.4 | Build: null vom 20260505]
[19.07.2026 09:02:35] Installierte und aktive Plugin-Versionen: [Finance.Websync ver. 0.9.83 | Build: 1177 vom 20241224] [Hibiscus Mashup ver. 0.9.48 | Build: 625 vom 20241224]
[19.07.2026 09:02:35] Überprüfe Jameica-Version ...
[19.07.2026 09:02:35] OK: Jameica-Version 2.12.0 installiert und aktiv
[19.07.2026 09:02:35] Überprüfe Java-Version und den verwendeten Zeichensatz ...
[19.07.2026 09:02:35] ACHTUNG: Java-Version 21.0.8 ist zwar OK aber verwendet falschen Zeichensatz 'UTF-8' (Richtig wäre 'Cp1252, ISO-8859-15')
[19.07.2026 09:02:35] Überprüfe HTMLUnit-Version ...
[19.07.2026 09:02:35] OK: HTMLUnit-Version 4.4.0 installiert und aktiv
[19.07.2026 09:02:35] Überprüfe Selenium-Version ...
[19.07.2026 09:02:35] OK: Selenium-Version 4.31.0 installiert und aktiv
[19.07.2026 09:02:35] Überprüfe ChromeDriver-Version ...
[19.07.2026 09:02:35] OK: ChromeDriver-Version 143.0.7499.169 installiert und aktiv
[19.07.2026 09:02:35]  
[19.07.2026 09:02:35] Synchronisiere Konto 'PayPal - PayPal, IBAN XXXXXX..XXXXXX [J.P. Morgan]' ...
[19.07.2026 09:02:35] API-Authentifizierung mit API-Anmeldekennung XXXX******* auf https://api-3t.paypal.com/nvp? ...
[19.07.2026 09:02:51] Rufe API-URLs auf und starte Aufbau des Kontoauszuges ...
[19.07.2026 09:02:51] Suche Umsätze im Zeitraum vom 21.05.2026 bis 19.07.2026 und lese diese aus ...
[19.07.2026 09:02:52] API-Transaktionssuche mit eingestelltem Intervall von '24 Std.' gestartet ...
[19.07.2026 09:02:53] Fehler: Exception beim Abrufen der Kontoumsätze: java.lang.StringIndexOutOfBoundsException: Range [339, -1) out of bounds for length 346
	at java.base/jdk.internal.util.Preconditions$1.apply(Unknown Source)
	at java.base/jdk.internal.util.Preconditions$1.apply(Unknown Source)
	at java.base/jdk.internal.util.Preconditions$4.apply(Unknown Source)
	at java.base/jdk.internal.util.Preconditions$4.apply(Unknown Source)
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Unknown Source)
	at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Unknown Source)
	at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)
	at java.base/java.lang.String.substring(Unknown Source)
	at de.derrichter.finance.websync.institute.paypal.ApiPull.getTransData(ApiPull.java:585)
	at de.derrichter.hibiscus.mashup.crossover.websync.institute.paypal.ApiCollector.run(ApiCollector.java:211)
	at de.derrichter.hibiscus.mashup.crossover.websync.WebSynchronizeJobKontoauszug.execute(WebSynchronizeJobKontoauszug.java:84)
	at de.derrichter.hibiscus.mashup.crossover.websync.WebSynchronizeBackend$WebSyncJobGroup.sync(WebSynchronizeBackend.java:907)
	at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:401)
	at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)

uidfjksdaleikkjk
Beiträge: 14
Registriert: Mo 30. Mai 2022, 13:52

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von uidfjksdaleikkjk » Fr 31. Jul 2026, 12:16

Ich habe leider genau dasselbe Problem. Hat niemand eine Idee?

GabyZ
Beiträge: 1
Registriert: Mo 29. Sep 2025, 18:33

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von GabyZ » Fr 31. Jul 2026, 12:28

Dito.

hbci
VIP
VIP
Beiträge: 1428
Registriert: Sa 7. Mär 2020, 15:01
Has thanked: 37 times
Been thanked: 108 times

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von hbci » Fr 31. Jul 2026, 12:40

Bringt die Installation des hier verlinkten gepatchten Plugins vielleicht was?

uidfjksdaleikkjk
Beiträge: 14
Registriert: Mo 30. Mai 2022, 13:52

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von uidfjksdaleikkjk » Fr 31. Jul 2026, 12:56

Danke für den Tipp! Zumindest kommt mit dem Patch ein anderer Fehler:

[31.07.2026 12:52:43] Synchronisierung via non-HBCI (Hibiscus Mashup) läuft
[31.07.2026 12:52:43]
[31.07.2026 12:52:43] System-Info: OS[Linux (ver. 6.12.90+deb13.1-amd64) amd64] Platform[Jameica 2.12.0 | Build: 1 vom 20251029] Plugin[hibiscus 2.12.4 | Build: null vom 20260505]
[31.07.2026 12:52:43] Installierte und aktive Plugin-Versionen: [Finance.Websync ver. 0.9.83 | Build: 1177 vom 20241224] [Hibiscus Mashup ver. 0.9.48 | Build: 625 vom 20241224]
[31.07.2026 12:52:43] Überprüfe Jameica-Version ...
[31.07.2026 12:52:43] OK: Jameica-Version 2.12.0 installiert und aktiv
[31.07.2026 12:52:43] Überprüfe Java-Version und den verwendeten Zeichensatz ...
[31.07.2026 12:52:43] OK: Java-Version 21.0.11 von 'Debian' installiert, aktiv und verwendet Zeichensatz 'UTF-8' (Home: /usr/lib/jvm/java-21-openjdk-amd64)
[31.07.2026 12:52:43] Überprüfe HTMLUnit-Version ...
[31.07.2026 12:52:43] OK: HTMLUnit-Version 4.4.0 installiert und aktiv
[31.07.2026 12:52:43] Überprüfe Selenium-Version ...
[31.07.2026 12:52:43] OK: Selenium-Version 4.31.0 installiert und aktiv
[31.07.2026 12:52:43] Überprüfe ChromeDriver-Version ...
[31.07.2026 12:52:43] OK: ChromeDriver-Version 143.0.7499.169 installiert und aktiv
[31.07.2026 12:52:43]
[31.07.2026 12:52:43] Synchronisiere Konto 'PayPal, IBAN DE8650..604670 [BIC: PPLXLULLXXX]' ...
[31.07.2026 12:52:43] API-Authentifizierung mit API-Anmeldekennung matt******* auf https://api-3t.paypal.com/nvp? ...
[31.07.2026 12:53:02] Rufe API-URLs auf und starte Aufbau des Kontoauszuges ...
[31.07.2026 12:53:02] Suche Umsätze im Zeitraum vom 01.07.2026 bis 31.07.2026 und lese diese aus ...
[31.07.2026 12:53:02] API-Transaktionssuche mit eingestelltem Intervall von '100 Std.' gestartet ...
[31.07.2026 12:53:17] Kontoauszug erfolgreich. Importiere Daten ...
[31.07.2026 12:53:17] Fehler: Exception beim Zusammenbau der Umsätze für die Übergabe nach Hibiscus: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "de.willuhn.jameica.hbci.rmi.Umsatz.getPrimanota()" is null
at de.derrichter.hibiscus.mashup.crossover.interact.DataWorker.syncDataAndAccount(DataWorker.java:1457)
at de.derrichter.hibiscus.mashup.crossover.websync.institute.paypal.ApiCollector.run(ApiCollector.java:244)
at de.derrichter.hibiscus.mashup.crossover.websync.WebSynchronizeJobKontoauszug.execute(WebSynchronizeJobKontoauszug.java:84)
at de.derrichter.hibiscus.mashup.crossover.websync.WebSynchronizeBackend$WebSyncJobGroup.sync(WebSynchronizeBackend.java:907)
at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:401)
at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)

HappyUser
Beiträge: 2
Registriert: So 19. Jul 2026, 09:19

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von HappyUser » Mo 3. Aug 2026, 08:54

Bei mir hat das modifizierte Plugin funktioniert. Vielen Dank!

Alex1a
Beiträge: 16
Registriert: Do 12. Mai 2016, 12:21
Has thanked: 1 time

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von Alex1a » Mi 12. Aug 2026, 14:46

Ich habe das gleiche Problem und hoffe noch auf eine offizielle Lösung.

Interessant ist vielleicht, dass ich 2 Paypal-Konten habe und es bei einem noch funktioniert.

Pumuckel2
Beiträge: 3
Registriert: Di 6. Okt 2026, 12:36
Been thanked: 1 time

Re: PayPal API: StringIndexOutOfBoundsException in ApiPull.java:585 seit Juni 2026

Beitrag von Pumuckel2 » Di 6. Okt 2026, 13:45

Hallo,

bei mir tritt derselbe Fehler auf (ApiPull.java:585), reproduzierbar. Mit TRACE-Log konnte ich die Ursache eingrenzen.

Umgebung:
- Windows 11 amd64, Java 21.0.8, Jameica 2.12.0 (Build 20251029)
- hibiscus 2.12.4
- hibiscus.mashup 0.9.48 (Build 625 vom 20241224)
- finance.websync 0.9.83 (Build 1177 vom 20241224)
- hibiscus.scripting.selenium 4.31.0
- hibiscus.scripting.chromedriver 143.0.7499
- hibiscus.scripting.htmlunit 4.4.0
- hibiscus.scripting.poi 5.3.0

Ablauf:
API-Authentifizierung und GetBalance funktionieren. Das Konto wird zum ersten Mal abgerufen, Zeitraum 10.10.2023 bis 06.10.2026. Die TransactionSearch-Antwort des ersten Zeitfensters ist in Ordnung (ACK=Success, 10 Transaktionen). Der Fehler tritt direkt danach beim Auswerten auf:

- Intervall 500 Std.: Range [2516, -1) out of bounds for length 2522
- Intervall 1000 Std.: Range [6048, -1) out of bounds for length 6054

Auffällig: Der Startindex liegt jeweils genau 6 Zeichen vor dem Ende der Antwort. Die Antwort endet ohne abschließendes "&" direkt nach dem Wert des letzten Feldes, also so (Werte durch Platzhalter ersetzt):

...&L_STATUS9=Completed&L_AMT9=-12.34&L_CURRENCYCODE9=EUR&L_FEEAMT9=0.00&L_NETAMT9=-12.34

Der letzte Wert hat bei mir ebenfalls 6 Zeichen. Ich vermute daher, dass das Ende des letzten Wertes mit indexOf("&") gesucht wird, was beim letzten Feld -1 liefert, und dann substring(start, -1) aufgerufen wird.

Zusätzlich schlägt das Support-Paket fehl:

java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "<parameter1>" is null
at java.base/java.lang.String.replace(Unknown Source)
at de.derrichter.hibiscus.mashup.utils.SysUtils.createSupportPack(SysUtils.java:201)
at de.derrichter.hibiscus.mashup.crossover.websync.institute.paypal.ApiCollector.run(ApiCollector.java:301)

Das passiert direkt nach der Prüfung der Datei ...\Temp\finance.websync.supportpack\jameica.log.

Stacktrace des Hauptfehlers:

java.lang.StringIndexOutOfBoundsException: Range [2516, -1) out of bounds for length 2522
at java.base/java.lang.String.substring(Unknown Source)
at de.derrichter.finance.websync.institute.paypal.ApiPull.getTransData(ApiPull.java:585)
at de.derrichter.hibiscus.mashup.crossover.websync.institute.paypal.ApiCollector.run(ApiCollector.java:211)

Den kompletten Log mit TRACE-Level habe ich, er enthält aber persönliche Umsatzdaten. Ich kann ihn auf Wunsch geschwärzt oder privat schicken. Gerne teste ich eine neue Version.

Danke und Gruß

Zurück zu „Hibiscus Mashup über Finance.Websync - (Beta 0.x = neue Release 3 der alten Scripte)“