Bom dia a todos!
Estou desenvolvendo uma aplicação java desktop/swing com netbeans…
é preciso acessar um webservice e ler o xml de resposta, mas o link que me passaram é um http…
o exemplo do link ==> http://enderecoempresa/consulta.php?numero_acompanhamento=000000000000
se digito o link original no browser ele retorna um xml com alguns dados do acompanhamento…
então parece besteira o que to perguntando…se aparece no browser ta funcionando uai!
Mas, via java não teria que criar um cliente baseado num link com o WSDL? ou tem como acessar
somente um http direto e pegar esse xml?
Alguém poderia me ajudar por favor?
Veja se o código abaixo te resolve:
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String... args) throws IOException {
try {
URL url = new URL("http://raphaelneves.com.br");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
InputStream is = con.getInputStream();
/// agora basta parsear seu InputStream no XML
}catch (IOException io){
io.printStackTrace();
}
}
}
Em java, existe uma api especifica para consumir SOAP. Nós normalmente não ficamos enviando HTTP request na unha como exemplo acima. Veja o metro https://metro.java.net/
Acho precipitada sua resposta. Pela pergunta inicial, não fica claro se ele está consumindo REST ou SOAP, justamente por perguntar se é possível acessar um http direto. Ainda que seja SOAP, existem “n” alternativas de consumir o WS, inclusive a especificação da JAX-RS (JSR 224). Fato é que existem várias maneiras de se atingir o objetivo, mas no meu ponto de vista a premissa de saber que há algo nativo que se comporte de forma esperada é importante, ainda que não se encaixe num padrão de “boa prática”.
No entanto, acho sua alternativa uma boa opção de complemento para estudo, bem como o JAX-WS ou quem sabe os recursos do pacote javax.xml.soap. Como eu disse, “n” alternativas.
Abraço.
1 curtida