Diseño e implementación de servicios Rest
Diseño de servicios REST
Implementación de servicios REST
Securización de servicios REST
Autenticación de servicios REST
Autorización de servicios REST
Utilidades
Integración con JBoss Seam
Se pueden utilizar las anotaciones @Logger, @In y @EJB sin que la clase del servicio (contiene la anotación @Path) tenga declarada la anotaión @Name.
FAQs
Autenticación servicios rest falla: Error 401--Unauthorized
Al desplegar un servicio rest y tratar de ejecutarlo accediendo al endpoint, a pesar de incluir la cabecera de autenticación (Basic XXXXX) el servidor sigue devolviendo el texto
Error 401--Unauthorized Error 401--Unauthorized From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.4.2 401 Unauthorized The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.46) containing a ...
FundeWeb 2.0
Solución Añadir el parámetro <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> a la configuración de weblogic. El fichero de configuración del servidor se encuentra en C:\FundeWeb\2.0\servidores\wls1213_dev\dominios\fundeweb\config\config.xml
<node-manager-username>Fund3W3b2</node-manager-username> <node-manager-password-encrypted>{AES}6aBVSBzstISKuTIknaiZYqvpOEH0geUuF6YbbBvE4ID0E1zhg/E5XRzbG0a1w9Di</node-manager-password-encrypted> <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> </security-configuration> <jta>
Tras reiniciar el servidor debería funcionar.
Fuentes:
- https://stackoverflow.com/questions/4002497/testing-weblogic-webservices-using-soap-ui
- https://docs.oracle.com/cd/E12840_01/wls/docs103/security/thin_client.html#understanding_basic_atn
— CARLOS ALBALADEJO PASCUAL 25/07/2019 09:08
Problema ObjectMapper de Jackson
Despues de una actualización de seguridad en Jackson (a partir de la versión 1.9.14) para evitar ataques en la deserialización de clases polimorficas (Herencia Java), se puede producir el siguiente error:
org.codehaus.jackson.map.JsonMappingException: Illegal type [...] to deserialize: prevented for security reasons [...] Caused by: org.codehaus.jackson.map.JsonMappingException: Illegal type [...] to deserialize: prevented for security reasons at org.codehaus.jackson.map.deser.BeanDeserializerFactory.checkLegalTypes(BeanDeserializerFactory.java:1521)
FundeWeb 2.0
Solución
Para solucionarolo tienes que crear en fichero jackson-deserialization-whitelist-packages.properties en la carpeta src/main/resources del módulo WEB, donde incluimos en cada linea, el paquete de código donde estan las clases que queremos permitir la deserialización. Ejemplo:
es.um.atica.miaplicacion.rest.dtos es.um.atica.miaplicacion.rest.pojos
Obtener ObjectMapper (Jackson) Predeterminado de FundeWeb
Podemos obtener una instancia de la clase _ObjectMapper_ de Jackson predeterminado de FundeWeb. De esta forma tendremos disponible las configuraciones por defecto.
ObjectMapper mapper = es.um.atica.jackson.utils.JsonUtils.getFundeWebObjectMapper();
— JUAN MIGUEL BERNAL GONZALEZ 03/04/2020 13:19
Solicitud/Registro de FAQ
Pon aquí tus propuestas de FAQs, indicando qué problema tienes, y buscaremos la solución lo antes posible. Si además lo has resuelto, puedes indicar cómo lo has hecho.
Formato de petición de FAQ:
**Título** //Descripción del problema// //Tecnología afectada (Fundeweb 1/2)// //Cómo reproducir el error// **Solución** //Descripción de la solución// Tus datos de contacto --- //[[correo@umOticarum.es|Tu Nombre]] dd/mm/yyyy //
FAQs Resueltas
— JUAN MIGUEL BERNAL GONZALEZ 13/09/2018 13:58
- fdw2.0/fundeweb2.0/gt/rest.txt
- Última modificación: 06/09/2023 10:19
- por JUAN MIGUEL BERNAL GONZALEZ