[ https://issues.apache.org/jira/browse/HARMONY-3717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546428 ] Chris Elford commented on HARMONY-3717: --------------------------------------- Scratch that last comment. I'm guessing our proxy was down when I tried it earlier. It seems to be working fine now. I just ran my more complex test successfully 8x in a row. This is looking good. Thx, Chris > [classlib][luni] java.net.HttpURLConnection.getResponseCode() anomoly > --------------------------------------------------------------------- > > Key: HARMONY-3717 > URL: https://issues.apache.org/jira/browse/HARMONY-3717 > Project: Harmony > Issue Type: Bug > Components: App-Oriented Bug Reports, Classlib > Environment: Windows XP SP2 > c:\java\hre50\bin\java -version > svn = r530500, (Apr 20 2007), Windows/ia32/msvc 1310, release build > Reporter: Chris Elford > Assignee: Tim Ellison > Priority: Minor > Attachments: http.java, network.txt > > > I am trying to see if OpenJNLP works with Harmony. OpenJNLP is a pretty old implementation of the JNLP protocol w/o security. I hacked OpenJNLP to recognize Windows XP and then try to load a jnlp app from the the web (http://www.eclipse.org/swt/jws/controlexample.jnlp in this case). It fails with > java.io.IOException: Bad Request > at org.nanode.jnlp.JNLPParser$URLJNLPParser.openInputStream(JNLPParser.java:491) > at org.nanode.jnlp.JNLPParser.parse(JNLPParser.java:119) > at org.nanode.jnlp.JNLPParser.parseDescriptor(JNLPParser.java:292) > at org.nanode.app.openjnlp.DefaultAppHandler.handleOpenURL(Unknown Source) > at org.nanode.app.OpenJNLP.main(Unknown Source) > Launching failed: http://www.eclipse.org/swt/jws/controlexample.jnlp > [It works with the Sun JVM]. > Instrumenting the code shows that the following basic code is executed > URLConnection uc = srcURL.openConnection(); > if (uc instanceof HttpURLConnection) { > HttpURLConnection huc = (HttpURLConnection) uc; > if (huc.getResponseCode() != HttpURLConnection.HTTP_OK) { > throw new IOException(huc.getResponseMessage()); > } > } > getResponseCode() is returning error 400 and thus the app throws the exception. I noted that if I insert a call to huc.getHeaderFields() before the if that checks the response code, I will subsequently get a response 200 (HTTP_OK) and things proceed. It appears like there is some sort of race or deferral in populating the response codes here. Note that instead of calling huc.getHeaderFields(), I tried putting a 5 sec sleep in and it did NOT fix it. It doesn't look like it is a normal race. > Note that it works with the Sun VM without any mods at all. > Note that I am using a proxy server via -Dproxyset=true -DproxyHost=xxx -DproxyPort=yyy at the java command line. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.