Cybersource-rest-client-java failure under Java 17
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 50/100
Línea de trabajo
Empieza en la línea de registro de depuración de ApiClient.execute que llama a json.serialize(response.headers()) y, a continuación, sigue el fallo reportado a través de Invokers.JSON.serialize. Reproduce una llamada a la API con Java 17 y verifica que el registro de response ya no provoque la excepción de acceso reflectivo de Gson, mientras la solicitud se completa correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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,
- Lenguaje dominante
- Java
- Estrellas
- 29
- Forks
- 50
- Merge medio
- 1 h 30 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CyberSource/cybersource-rest-client-java
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
CyberSource/cybersource-rest-client-java#241 · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 58/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
CyberSource/cybersource-rest-client-java#235 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Todos los issues de CyberSource/cybersource-rest-client-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
quelea-projection/Quelea#711 ·
-
bug pdd
Dificultad 2/5 Menos de una hora Aptitud para principiantes 67/100
objectionary/eo#9450 ·
Los mantenedores suelen responder en 1 día
-
[EC2] DescribeAvailabilityZones should return real AWS error for unknown zone namePosiblemente ocupada @omatheusmesmo la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
area: core good first issue type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ShaftHQ/SHAFT_ENGINE#6909 ·
Los mantenedores suelen responder en 1 día