Aguardando o Processamento de uma URL

4 respostas
RodrigoSol

Srs.

Tenho um MDB que dispara um post pra um servlet.
Se eu tento ler o resultado do servlet ele me retorna FileNotFound, se eu só disparo o post o servlet não é processado. Como posso forçar e aguardar que o processamento do servlet esteja acabado antes de continuar o processamento no MDB?

URL url = new URL(new Propriedades().getProperty("caminho.web"));
			URLConnection urlConn = url.openConnection();
			urlConn.setDoOutput(true);
			String data = URLEncoder.encode("action", "UTF-8") + "=" + URLEncoder.encode("reload", "UTF-8");
			OutputStreamWriter wr = new OutputStreamWriter(urlConn.getOutputStream());
			wr.write(data);
			wr.flush();
    
			BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
			String str;
			while ((str = in.readLine()) != null) {
					System.out.println(str);
			}
			in.close();
11:31:13,113 ERROR [STDERR] java.io.FileNotFoundException: http://localhost:8080
/web/update?action=reload
11:31:13,163 ERROR [STDERR]     at sun.net.www.protocol.http.HttpURLConnection.g
etInputStream(HttpURLConnection.java:689)

Alguma ideia?

4 Respostas

dukejeffrie

Eu tenho!

BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

troque para

BufferedReader in = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));

Vc tb deve ler o javadoc da URLConnection pra ver se vc tem que chamar close() no writer ou no outputstream.

[]s!!

RodrigoSol

Valeu!

  1. Mesmo assim não funcionou.

Mais alguma?

cv1

Nem mudou o problema, Rodrigo? Continua a mesma coisa?

RodrigoSol

Continua o mesmo…

Fiz uma marreta provisoria:
Se eu ignorar a exceção ele faz o processamento, mas não ficou nada elegante.

Criado 21 de janeiro de 2004
Ultima resposta 22 de jan. de 2004
Respostas 4
Participantes 3