Cybersource-rest-client-java failure under Java 17
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 50/100
Piste de recherche
Commencez par la ligne de journalisation de débogage dans ApiClient.execute qui appelle json.serialize(response.headers()), puis suivez l’échec signalé à travers Invokers.JSON.serialize. Reproduisez un appel d’API avec Java 17 et vérifiez que la journalisation de response ne déclenche plus l’exception d’accès réflexif de Gson, tandis que la requête s’achève toujours avec succès.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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,
- Langage dominant
- Java
- Étoiles
- 29
- Forks
- 50
- Merge moyen
- 1 h 30 min
- PR mergées (30 j)
- 1
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CyberSource/cybersource-rest-client-java
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
CyberSource/cybersource-rest-client-java#241 · 1 réaction ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 58/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
CyberSource/cybersource-rest-client-java#235 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
Toutes les issues de CyberSource/cybersource-rest-client-java
Issues similaires
-
ARM: Q flag should be stickyOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
NationalSecurityAgency/ghidra#10155 ·
Les mainteneurs répondent en général sous 2 jours
-
bug web-ui
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
jenkinsci/jenkins#27705 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
"item-tooltip-keyboard-fix" crashes the game when opening the Items tab of the statistics menuOuvertemod bug
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
elmital/FixMCStats#65 · 3 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
googleads/googleads-mobile-flutter#1541 ·
Les mainteneurs répondent en général sous 4 jours
-
Keyboard crashes Chrome tabsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Julow/Unexpected-Keyboard#1490 ·
Les mainteneurs répondent en général sous 4 jours