Cybersource-rest-client-java failure under Java 17
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 50/100
Rechercherichtung
Beginne bei der Debug-Logging-Zeile in ApiClient.execute, die json.serialize(response.headers()) aufruft, und verfolge dann den gemeldeten Fehler durch Invokers.JSON.serialize. Reproduziere einen API-Aufruf unter Java 17 und verifiziere, dass das Logging von response nicht mehr die Gson-Exception zum reflektiven Zugriff auslöst, während die Anfrage weiterhin erfolgreich abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
We use the cybersource-rest-client-java library for making merchant payments. Our code runs successfully under Java 11.
Porting to Java 17, we see the following failure when making API calls -
com.google.gson.JsonIOException: Failed making field 'java.io.Reader#lock' accessible; either change its visibility or write a custom TypeAdapter for its declaring type
at com.google.gson.internal.reflect.ReflectionHelper.makeAccessible(ReflectionHelper.java:23)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:203)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:112)
at com.google.gson.Gson.getAdapter(Gson.java:531)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:137)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:211)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:112)
at com.google.gson.Gson.getAdapter(Gson.java:531)
at com.google.gson.Gson.toJson(Gson.java:778)
at com.google.gson.Gson.toJson(Gson.java:756)
at com.google.gson.Gson.toJson(Gson.java:711)
at com.google.gson.Gson.toJson(Gson.java:691)
at Invokers.JSON.serialize(JSON.java:83)
at Invokers.ApiClient.execute(ApiClient.java:1204)
at Api.PaymentsApi.createPaymentWithHttpInfo(PaymentsApi.java:161)
at Api.PaymentsApi.createPayment(PaymentsApi.java:146)
This all seems to come from one single line of debug logging in the ApliClient. execute method -
logger.debug("Network Response :\n" + json.serialize(response.headers()));
The response object here is an OK HTTP object, with Java IO members that do not work for this reflective serialization under Java 17
I have built my own copy of the library with this one line removed, and the code works for me under Java 17,
- Vorherrschende Sprache
- Java
- Sterne
- 29
- Forks
- 50
- Ø Merge
- 1 Std. 30 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CyberSource/cybersource-rest-client-java
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
CyberSource/cybersource-rest-client-java#241 · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 58/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 42/100
CyberSource/cybersource-rest-client-java#235 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Alle Issues in CyberSource/cybersource-rest-client-java
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
AllTheMods/AllTheModium#238 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
apache/stormcrawler#2264 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
commons-app/apps-android-commons#7115 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
objectionary/lints#1596 ·
Maintainer antworten meist innerhalb von 2 Tagen