Obter XML via HTTP

Pessoal,

Continuo fazendo testes com Java. Esta precisando agora trabalhar com um arquivo XML. Mas eu tenho que pegá-lo através de HTTP. Ou seja, o arquivo estará sempre em um site web e eu não posso usar ftp, etc. Teria que ser direto pelo HTTP. Como posso fazer isso?

Obrigado.

Cria um web server com o CXF. Se este xml for dinamico.

de uma olhada na classe…

java.net.HttpURLConnection

Olha só um exemplo:

public static void main(String[] args) throws IOException {           
	URL url = new URL("http://guj.com.br/posts/list/148175.java");    
	HttpURLConnection conn = (HttpURLConnection) url.openConnection();
	Scanner sc = new Scanner(conn.getInputStream());                  
	while (sc.hasNextLine()) {                                        
		System.out.println(sc.nextLine());                            
	}                                                                 
}                                                                     

Isso faz uma requisição HTTP desta página onde estamos discutindo. Se você mudar sua URL para onde está o arquivo XML você pode fazer o que for preciso depois.

A classe também tem suporte a métodos GET/POST, autenticação de Proxy dentre outras. Ele deve resolver seu problema.

Você pode criar uma página JSP normal e ler o conteúdo do XML com a biblioteca prototype usando a função Ajax.Request

http://www.sergiopereira.com/articles/prototype140.js.ptBR.html
http://api.prototypejs.org/ajax/ajax/request.html

Se esse seu xml for um web-service voce precisara implementar um Client de um WS via classe java normal, nesse caso eu iria de CXF.

Como esta chegando esse xml a aplicação é web?