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.
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
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
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 //
— JUAN MIGUEL BERNAL GONZALEZ 13/09/2018 13:58