Author Topic: Servicio web REST y SOAP con Apache CXF en JBOSS EAP 7  (Read 62 times)

nalmeida

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Servicio web REST y SOAP con Apache CXF en JBOSS EAP 7
« on: Julio 10, 2017, 10:06:13 pm »
Buenas,

Estoy desarrollando un pequeño proyecto en el que se busca realizar una serie de microservicios en el servidor JBOSS EAP 7.

Haciendo uso de anotaciones se logra hacer un deploy en muy poco tiempo, el JBOSS delega en Resteasy y en CXF.

Para mayor compatibilidad se requiere servir el mismo método tanto en REST como en SOAP así que la idea es unificar y simplificar todo lo máximo posible.

El problema que me encuentro ahora es a la hora de implementar la autentificación y la autorización de los métodos expuestos como servicios web. Por lo leído la única forma en que ambas soluciones comparten un contexto es a través de CXF.

Yo estoy empezando en el desarrollo Java EE, siempre he trabajado en soluciones de escritorio. Pensé que era algo fácil de encontrar pero según paso los días veo que hay muy poca documentación en la que se haga un desarrollo de este tipo (combinar SOAP y REST). En la propia documentación del proyecto CXF solo exponen una página y está desactualizada.

Propongo este hilo para intentar llegar a una solución mixta, intentaré ayudar en todo lo que pueda y vaya aprendiendo en estos días, pero necesitaría la ayuda de la comunidad porque es un tema bastante profundo.

La idea iniciar es utilizar un mecanismo de autenticación lo más simple posible (HTTP basic authentication, por ejemplo). Luego sería interesante ver si se le puede añadir permisos de usuarios/grupos.

No sé si sería conveniente realizar un ejemplo para ponerlo en el foro de CXF.

Muchísimas gracias!

nalmeida

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
    • View Profile
Re: Servicio web REST y SOAP con Apache CXF en JBOSS EAP 7
« Reply #1 on: Julio 10, 2017, 10:23:33 pm »
Lo que tengo desarrollado hasta ahora:

@Path("/alertas") <-- Para REST
@WebService <-- Para SOAP
public class AlertasApi  {
   
    @Inject AlertasApiService alertasService;

    /**
     * @return Lista todas las alertas en la base de datos
     */
    @GET   
    @Consumes({ "application/json", "application/xml" })
    @Produces({ "application/json", "application/xml" })
    @WebMethod
    public Alertas listarAlertas() {
   return alertasService.listarAlertas();
    };

La duda es como inyectar el contexto de seguridad, que valga tanto para REST como para SOAP

 

ey