3
respostas

Origin 'null' is therefore not allowed access.

Boa noite,

Estou tendo este problema ao fazer um simples cadastro utilizando o meu WS. Pesquisando cheguei neste link http://stackoverflow.com/questions/28065963/how-to-handle-cors-using-jax-rs-with-jersey e consegui parcialmente resolver o problema.

O que acontece agora é o seguinte: -Inicio ou servidor, vou para a minha tela de cadastro e realizo um novo cadastro, sucesso, funciona. -Repito mais um cadastro e o WS me retorna este erro:

POST http://localhost:8080/pessoafisica/novo cadastro.html:1 XMLHttpRequest cannot load http://localhost:8080/pessoafisica/novo. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 500.

Minha classe servidor ficou assim:

public class Servidor {

    public static void main(String[] args) throws IOException {

        HttpServer server = inicializaServidor();
        System.out.println("Servidor rodando.");
        System.in.read();
        server.stop();        
    }

    public static HttpServer inicializaServidor() {
        URI uri = URI.create("http://localhost:8080");
        ResourceConfig config = new ResourceConfig();
        config.register(new CORSFilter());
        config.packages("servicos");                
        HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
        return server;        
    }

}

Obrigado

3 respostas

Parece que vc está fazendo um ajax, né? Tenta setar o header origin na sua requisição.. não parece ser um problema de cors, já que sua requisição é de localhost para localhost.

Estou usando angular.

Acho que não muda em nada... Na requisição Ajax vc tem buscar a forma de setar o header cobrado pela implementação do jax-rs.