unsupported resource origin missing jax falta enable cross control cabecera allow java rest jax-ws jax-rs cors

java - resource - jax rs enable cors



Servicio web RESTful: cómo establecer encabezados en java para aceptar XMLHttpRequest permitido por Access-Control-Allow-Origin (1)

Lea aquí sobre su problema CORS: http://enable-cors.org/

Compruebe si este le ayuda en su método getMsg ():
return Response.ok(output).header("Access-Control-Allow-Origin", "*").build();

Si lo anterior no funciona, intente agregar el filtro Jersey a su servicio. Crear clase de filtro:

package your.package; public class CORSFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) { cresp.getHttpHeaders().putSingle("Access-Control-Allow-Origin", "*"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Credentials", "true"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With"); return cresp; } }

Y regístrese más tarde para ganar web.xml con:

<servlet> <servlet-name>CORS Filter</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name> <param-value>your.package.CORSFilter</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>CORS Filter</servlet-name> <url-pattern>/webservices/*</url-pattern> </servlet-mapping> Otra solución es usar este código dentro de su recurso para proporcionar OPTIONS para el navegador. Pon esto en la clase donde tienes @GET.

@OPTIONS @Path("/getsample") public Response getOptions() { return Response.ok() .header("Access-Control-Allow-Origin", "*") .header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS") .header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With").build(); } Si no es así, intente intercambiar el "*" provisto para el encabezado "Access-Control-Allow-Origin" con su dominio personalizado donde tiene acceso a este recurso. Ig Si llama a esto desde http://localhost::8080 use algo como esto ("Access-Control-Allow-Origin", "http://localhost:8080") lugar de asterisco "*" .

Tengo un servicio web RESTful que devolverá cadena y fue escrito en Java (JAX-WS). Mi problema es cuando envío una solicitud a ese servicio web con una URL como:

http://localhost:8080/project/webservices/getlist/getListCustomers

En la consola me está dando el siguiente mensaje de error:

XMLHttpRequest no puede cargar url El host local de origen no está permitido por Access-Control-Allow-Origin

¿Cómo puedo manejar este problema?

Código Java:

@GET @Path("/getsample") public Response getMsg() { String output = "Jersey say : " ; return Response.status(200).entity(output).build(); }