Problem submitting forms over SSL

Seth Russell <[email protected]>
Newsgroups gmane.comp.web.httpunit.devel
Message-ID <[email protected]>
I am attempting to write some httpunit tests of a ssl web application
that I have. My applications are using ssl certs from Thawte.

I have tested my code on sites such as google and it works just fine.
However, when I attempt to submit forms on my applications, I only get
the original URL - or a 302 response with no location header. One
application, the form submits to another URL, and on one application,
the application redirects the browser upon successful authentication. I
have tried both the 1.4.2_10 and the 1.5.0_06 Sun JDKs (linux) and get
the same response. I am using httpunit 1.6.2.

My applications do not use javascript.

Has any one had similar problems to what I am having?

Here is the output I get:

<output original url>
Reponse Message: OK
Response Code: 200
head field: CONTENT-TYPE: text/html; charset=ISO-8859-1
head field: TRANSFER-ENCODING: chunked
head field: X-POWERED-BY: PHP/5.0.3
head field: SERVER: Apache/1.3.33 (Unix) PHP/5.0.3 DAV/1.0.3
mod_ssl/2.8.22 OpenSSL/0.9.6m
head field: DATE: Thu, 30 Mar 2006 16:47:49 GMT


cp.isAcceptCookies(): true
cp.isAcceptGzip(): true
cp.isAutoRedirect(): true
cp.isAutoRefresh() : false
cp.isIframeSupported(): true
b0 : Submit with =LOGIN
<output original url>
Reponse Message: Found
Response Code: 302
head field: EXPIRES: Thu, 19 Nov 1981 08:52:00 GMT
head field: SERVER: Apache/1.3.33 (Unix) mod_ssl/2.8.24 OpenSSL/0.9.7a
head field: DATE: Thu, 30 Mar 2006 16:53:02 GMT
Total Elapsed time in miliseconds: 2831
BUILD SUCCESSFUL (total time: 4 seconds)


Here is my sample code:
package httpunit_test;

import com.meterware.httpunit.*;

public class Main
{

    /** Creates a new instance of Main */
    public Main()
    {
    }

    public static void main(String[] args)
    {
        long start;
        long end;

        WebConversation wc = new WebConversation();
        try
        {
            ClientProperties cp = ClientProperties.getDefaultProperties();
            System.out.println("cp.isAcceptCookies(): " +
cp.isAcceptCookies());
            System.out.println("cp.isAcceptGzip(): " + cp.isAcceptGzip());
            System.out.println("cp.isAutoRedirect(): " +
cp.isAutoRedirect());
            System.out.println("cp.isAutoRefresh() : " +
cp.isAutoRefresh());
            System.out.println("cp.isIframeSupported(): " +
cp.isIframeSupported());


            start = System.currentTimeMillis();
//            WebResponse wr =
wc.getResponse("https://server.host.domain/prd/app/index.php");
//            WebResponse wr =
wc.getResponse("https://sub.server.host.domain/anotherapp/");
            WebResponse wr = wc.getResponse("http://www.google.com/");
            WebForm form = wr.getForms()[0];
            form.setParameter("q", "httpunit");
            //form.setParameter("useremail", "[email protected]");
            //form.setParameter("password", "mypassword");

            SubmitButton barr[] = form.getSubmitButtons();

            for(int i=0; i < barr.length; i++)
                System.out.println("b" + i + " : " + barr[i]);

            WebRequest req = form.getRequest(barr[0]);
            WebResponse wr_good = wc.sendRequest(req);

            System.out.println(wr_good.getURL());


            System.out.println("Reponse Message: " +
wr_good.getResponseMessage());
            System.out.println("Response Code: " +
wr_good.getResponseCode());
            String headerFields[] = wr_good.getHeaderFieldNames();

            for (int i=0; i < headerFields.length; i++)
                System.out.println("head field: " + headerFields[i] + ":
" + wr_good.getHeaderField(headerFields[i]));

            String result = wr_good.getText();
            end = System.currentTimeMillis();
            System.out.println("Total Elapsed time in miliseconds: " +
(end - start));

            String cookies[] = wc.getCookieNames();
            for (int i=0; i < cookies.length; i++)
                System.out.println("cookie value: " + cookies[i]);

            System.out.println(result);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.