Após fazer Post, confirmar status 201 como resposta e obter o Location, é gerado uma exception de not found ao fazer um request para o location retornado no Post.
@Test
public void testaQueSuportaNovosCarrinhos() {
Carrinho carrinho = new Carrinho();
carrinho.setCidade("Sao Paulo");
carrinho.setRua("Rua Vergueiro");
carrinho.adiciona( new Produto(314L, "Tablet", 37, 1));
String xml = carrinho.toXML();
Entity<String> entity = Entity.entity( xml, MediaType.APPLICATION_XML );
Client cliente = ClientBuilder.newClient();
WebTarget target = cliente.target("http://localhost:8080");
Response resposta = target.path("/carrinhos").request().post(entity);
Assert.assertEquals( 201, resposta.getStatus() );
String location = resposta.getHeaderString("Location");
String conteudo = cliente.target(location).request().get(String.class);
Assert.assertTrue(conteudo.contains("Tablet"));
}