BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

4 respostas
M
Bom dia Galera! Estou dando um "teco" na url com a minha acao de transmissao, to passando o meu .xml de entrada td preenchido ,mas quando chego pra pegar a resposta ta dando galho. Exatamente nessa linha:
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
Se alguém puder me ajudar..agradeço.

Na minha classe principal estou setando algumas informações:

genericVO.setAcao("transmissao");
genericVO.setXml(new File("ENTRADAS.xml"));
sender.send(protocol, genericVO.getAcao(),genericVO.getXml());

public class Sender {

	private static String URL_ORIGINAL = "http://00.000.100.00/AUTO-Integracao/integracao?acao=";

	private static Sender me = null;

	Sender() {
	}

	public static Sender getInstance() {
		if (me == null) {
			me = new Sender();
		}
		return me;
	}

	String send(Protocolo protocol, String acao, File arquivoXML) {
		String retorno = null;
		String URL = URL_ORIGINAL + acao;

		try {
			URL url = new URL(URL);
			URLConnection conn =  url.openConnection();
			conn.setDoOutput(true);
			conn.setDoInput(true);
			conn.setRequestProperty("Content-Type","text/xml;charset:ISO-8859-1;");
			ObjectOutputStream wr = new ObjectOutputStream(conn.getOutputStream());
			wr.writeObject(arquivoXML); // "Escreve" o objeto
			wr.flush();
			wr.close();
			
			 //--------------------------------------------------------------------// Get the response 
			BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			retorno = rd.readLine();
			BufferedWriter writer;
				try {
					writer = new BufferedWriter(new FileWriter("saida.xml"));
					writer.write(retorno.toString());
					writer.close();
					rd.close();
					JOptionPane.showMessageDialog(null,"Retorno efetuadao com sucesso!");
				} catch (IOException ex) {
					System.out.println(ex.getMessage());
				}

		} catch (Exception e) {
			System.out.println(e.getMessage());
		}

		return retorno;
	}

}

4 Respostas

V

O que você quer dizer com “dando algum galho?”

Dá erro? O xml chega pela metade? Esse código um dia já funcionou?

M

Dá erro nesta linha,BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
Erro 500.

V

Troque:

e.getMessage()

Por:

e.printStackTrace();

Jamais sonegue informações de erro de si mesma. Senão fica difícil mesmo corrigir o programe.

M

String send(String acao){

String retorno = null;
	String URL = URL_NASA+acao;
	
	try {
		URL url = new URL(URL);
		URLConnection conn =  url.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		conn.setUseCaches(false);
		conn.setDefaultUseCaches(false);
		conn.setRequestProperty("Content-Type","text/xml;charset:ISO-8859-1;");

		try {
			OutputStream wr = conn.getOutputStream();
	        BufferedReader reader = new BufferedReader(new FileReader("ENTRADAs.xml"));
	            String str;
	            while (reader.ready()) {
	                str = reader.readLine();
	    			wr.write(str.toString().getBytes());
	            }
	            reader.close();
	            wr.flush();
				wr.close();
	    } catch (IOException e) {
	    }
		
		BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));	
		retorno = rd.readLine();
		BufferedWriter writer;
			try {
				writer = new BufferedWriter(new FileWriter("saida.xml"));
				writer.write(retorno.toString());
				writer.close();
				rd.close();
				JOptionPane.showMessageDialog(null,"Retorno efetuadao com sucesso!");
			} catch (IOException ex) {
				System.out.println(ex.getMessage());
			}

	} catch (Exception e) {
		System.out.println(e.getMessage());
	}

	return retorno;
}
Criado 19 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 4
Participantes 2