Stavo cercando di utilizzare Apache Ant Get
task per ottenere un elenco di WSDL generati da un altro team nella nostra azienda. Li hanno ospitati su un server weblogic 9.x su http://....com:7925/services/. Sono in grado di accedere alla pagina tramite un browser, ma il task get mi dà un oggetto FileNotFoundException quando provo a copiare la pagina in un file locale per analizzarla. Ero ancora in grado di ottenere (usando l'attività ant) un URL senza la porta 80 non standard per HTTP.URLConnection FileNotFoundException per origini porte HTTP non standard
Ho controllato il codice sorgente Ant e ho ridotto l'errore a URLConnection. Sembra che URLConnection non riconosca che i dati sono traffico HTTP, poiché non si trova sulla porta standard, anche se il protocollo è specificato come HTTP. Ho annusato il traffico usando WireShark e la pagina si carica correttamente attraverso il cavo, ma ottiene comunque FileNotFoundException.
Ecco un esempio in cui viene visualizzato l'errore (con l'URL modificato per proteggere l'innocente). L'errore viene generato su connection.getInputStream();
import java.io.File;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class TestGet {
private static URL source;
public static void main(String[] args) {
doGet();
}
public static void doGet() {
try {
source = new URL("http", "test.com", 7925,
"/services/index.html");
URLConnection connection = source.openConnection();
connection.connect();
InputStream is = connection.getInputStream();
} catch (Exception e) {
System.err.println(e.toString());
}
}
}
Ora presumo che sia un tipo ma il tuo collegamento è alla porta 7924 e il tuo codice sta guardando la porta 7925 – Gandalf
Sì, era un refuso, risolto ora, grazie. – jeffl8n