harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Elford (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-3717) java.net.HttpURLConnection.getResponseCode() anomoly
Date Sat, 21 Apr 2007 01:10:15 GMT
java.net.HttpURLConnection.getResponseCode() anomoly
----------------------------------------------------

                 Key: HARMONY-3717
                 URL: https://issues.apache.org/jira/browse/HARMONY-3717
             Project: Harmony
          Issue Type: Bug
          Components: 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
            Priority: Minor


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.


Mime
View raw message