No sé, prueba creando con tu IDE un paquete com.ejemplo.filtros:
Código Java:
Ver originalpackage com.ejemplo.filtros;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
import javax.ws.rs.container.ContainerResponseFilter;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.Provider;
import java.io.IOException;
public class ResponseCorsFilter implements ContainerResponseFilter {
@Override
public void filter
(ContainerRequestContext requestContext, ContainerResponseContext responseContext
) throws IOException {
MultivaluedMap
<String, Object
> responseHeaders
= responseContext.
getHeaders(); String origin
= requestContext.
getHeaderString("Origin");
responseHeaders.putSingle("Access-Control-Allow-Origin", origin);
responseHeaders.putSingle("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE, HEAD");
responseHeaders.putSingle("Access-Control-Allow-Credentials", "true");
String reqHead
= requestContext.
getHeaderString("Access-Control-Request-Headers");
if (null != reqHead && !reqHead.equals("")) {
responseHeaders.putSingle("Access-Control-Allow-Headers", reqHead);
}
}
}
Y luego referéncialo como com.ejemplo.filtros.ResponseCorsFilter:
Código XML:
Ver original<filter>
<filter-name>miFiltro</filter-name>
<filter-class>com.ejemplo.filtros.ResponseCorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>miFiltro</filter-name>
<url-pattern>/login</url-pattern>
</filter-mapping>
Si esto no funciona, la última opción que me queda es añadir las cabeceras vía .htaccess.