Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Exercicio 8 da Aula 1 - Serviços Web REST e Addressability

Não estou conseguindo subir o servidor, pois, aparece o erro : org.glassfish.grizzly.http.server.NetworkListener stop. Coloquei uns Sysout para ver onde era o erro e está parando aqui : String conteudo = target.path("/carrinhos").request().get(String.class);


public class ClienteTest {

     private org.glassfish.grizzly.http.server.HttpServer server;

     @Before
     public void before() {
         this.server = Servidor.inicializaServidor();
     }
        @After
        public void mataServidor() {
            server.stop();
        }

        @Test
        public void testaQueBuscarUmCarrinhoTrazOCarrinhoEsperado() {

            Client client = ClientBuilder.newClient();
            System.out.println("passei 1");
            WebTarget target = client.target("http://localhost:8080");
            System.out.println("passei 2");
            String conteudo = target.path("/carrinhos").request().get(String.class);
            System.out.println("passei 3");
            System.out.println(conteudo);
            Carrinho carrinho = (Carrinho) new XStream().fromXML(conteudo);
            System.out.println(carrinho);
            Assert.assertEquals("Rua Vergueiro 3185, 8 andar", carrinho.getRua());

        }

}

Resultado :

Mar 15, 2018 12:51:01 PM org.glassfish.jersey.server.ApplicationHandler initialize
Informações: Initiating Jersey application, version Jersey: 2.5 2013-12-18 14:27:29...
Mar 15, 2018 12:51:02 PM org.glassfish.grizzly.http.server.NetworkListener start
Informações: Started listener bound to [localhost:8080]
Mar 15, 2018 12:51:02 PM org.glassfish.grizzly.http.server.HttpServer start
Informações: [HttpServer] Started.
passei 1
passei 2
Mar 15, 2018 12:51:02 PM org.glassfish.grizzly.http.server.NetworkListener stop
Informações: Stopped listener bound to [localhost:8080]
4 respostas

Fala ai Alexandre, tudo bem?

Existe alguma url que responda para /carrinhos?

Ola, Matheus, tudo bem. Muito obrigado pela atenção. Segue a url

@Path("carrinhos")
public class CarrinhoResource {

    @Path("{id}")
    @GET
    @Produces(MediaType.APPLICATION_XML)
    public String busca(@PathParam("id") long id) {
        System.out.println("CarrinhoResource 1");
        Carrinho carrinho = new CarrinhoDAO().busca(id);
        System.out.println("CarrinhoResource 2");
        return carrinho.toXML();
    }

    public String toXML() {
        return new XStream().toXML(this);
    }

}

Desculpe, mas, alguém poderia me ajudar neste problema. Obrigado

solução!

Achei o que estava acontecendo: Antes : String conteudo = target.path("/carrinhos").request().get(String.class);

Apos : String conteudo = target.path("/carrinhos/1").request().get(String.class);