views:

121

answers:

2

Hi,

I have HTML based queries in my code and one specific kind seems to give rise to IOExceptions upon receiving 505 response from the server. I have looked up the 505 response along with other people who seemed to have similar problems. Apparently 505 stands for HTTP version mismatch, but when I copy the same query URL to any browser (tried firefox, seamonkey and Opera) there seems to be no problem. One of the posts I read suggested that the browsers might automatically handle the version mismatch problem..

I have tried to dig in deeper by using the nice developer tool that comes with Opera, and it looks like there is no mismatch in versions (I believe Java uses HTTP 1.1) and a nice 200 OK response is received. Why do I experience problems when the same query goes through my Java code?

     private InputStream openURL(String urlName) throws IOException{    
    URL url = new URL(urlName);
    URLConnection urlConnection = url.openConnection();
    return urlConnection.getInputStream();
 }

sample link: http://www.uniprot.org/uniprot/?query=mnemonic%3aNUGM_HUMAN&format=tab&columns=id,entry%20name,reviewed,organism,length

+1  A: 

Are you behind a proxy? This code works for me and prints out the same text I see through a browser.

final URL url = new URL("http://www.uniprot.org/uniprot/?query=mnemonic%3aNUGM_HUMAN&format=tab&columns=id,entry%20name,reviewed,organism,length");
final URLConnection conn = url.openConnection();
final InputStream is = conn.getInputStream();
System.out.println(IOUtils.toString(is));

conn is an instance of HttpURLConnection

Jon Freedman
No there is no proxy here, as far as I know.. I have tried out the simplified case as you have written here and it seems to work for me too, odd.. Running the fullscale test again to see if the problem still persists, however it takes a long while to see the results.. In case I still get the exception, I will update the post with the stack trace..
posdef
+2  A: 

Hi,

AS a developer at www.uniprot.org I have the advantage of being able to look in the request logs. In the last year according to the logs we have not send a 505 response code. In any case our servers do understand http 1 requests as well as the default http1.1 (though you might not get the results that you expect).

That makes me suspect there was either some kind of data corruption on the way. Or you where affected by a hardware failure (lately we have had some trouble with a switch and a whole datacentre ;). In any case if you ever have questions or problems with uniprot.org please contact [email protected] then we can see if we can help/fix the problem.

Your code snippet seems normal and should work.

Regards, Jerven Bolleman

Jerven
Hi Jerven, Thanks a lot for your reply, even though it adds to my confusion (the fact that you have never sent a 505) it is appreciated that you took your time to go through the logs, and try to track down the possible causes.I have however send a mail to helpdesk a couple of days ago, when I first started experiencing the problem and still haven't gotten a reply. I figured that there are quite a number of issues you probably need to attend to there, so I just wanted to make sure if there was anything I could do on my end. :)
posdef