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.

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

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