Note that there are some explanatory texts on larger screens.

plurals
  1. POURLConnection FileNotFoundException for non-standard HTTP port sources
    primarykey
    data
    text
    <p>I was trying to use the Apache Ant <a href="http://ant.apache.org/manual/Tasks/get.html" rel="noreferrer"><code>Get</code> task</a> to get a list of WSDLs generated by another team in our company. They have them hosted on a weblogic 9.x server on <a href="http://....com:7925/services/" rel="noreferrer">http://....com:7925/services/</a>. I am able to get to the page through a browser, but the get task gives me a FileNotFoundException when trying to copy the page to a local file to parse. I was still able to get (using the ant task) a URL without the non-standard port 80 for HTTP. </p> <p>I looked through the Ant source code, and narrowed the error down to the URLConnection. It seems as though the URLConnection doesn't recognize the data is HTTP traffic, since it isn't on the standard port, even though the protocol is specified as HTTP. I sniffed the traffic using WireShark and the page loads correctly across the wire, but still gets the FileNotFoundException. </p> <p>Here's an example where you will see the error (with the URL changed to protect the innocent). The error is thrown on <strong>connection.getInputStream();</strong></p> <pre><code>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()); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload