Yes, I am absolutely sure the URL I'm trying to post to does accept POST
requests.  The code I'm working with is a direct port from an ASP.Net
project.  I can execute this code in the ASP.Net project and it works
without any timeouts.

I ran the curl command you suggested.  It returned without error.  I'm
not terribly familiar with curl so I don't know if that is expected or
not.

Regarding closing the request stream, that causes the following
exception:

"System.Net.WebException: Error getting response stream (ReadDone2):
ReceiveFailure ---> System.Exception:    at
System.Net.WebConnection.HandleError(WebExceptionStatus st,
System.Exception e, System.String where)\n   at
System.Net.WebConnection.ReadDone(IAsyncResult result)\n  at
System.Net.WebConnection.HandleError (WebExceptionStatus st,
System.Exception e, System.String where) [0x0003a] in
/Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/WebConnecti
on.cs:399 \n  --- End of inner exception stack trace ---\n  at
System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
[0x0005e] in
/Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebRequ
est.cs:828 \n  at System.Net.HttpWebRequest.GetResponse () [0x0000e] in
/Developer/MonoTouch/Source/mono/mcs/class/System/System.Net/HttpWebRequ
est.cs:836 \n  at SsoSpike.CookieController2.Initialize () [0x00097] in
/Users/christopher/Documents/Development/ProAg/SsoSpike/SsoSpike/CookieC
ontroller2.cs:281 "


Date: Fri, 17 Feb 2012 10:41:05 -0500
From: Jackson Harper <[email protected]>
To: [email protected]
Subject: Re: [MonoTouch] Timeout when doing POST via HttpWebRequest
        with content written to request stream
Message-ID:
        
<capgstfhb+zleu+5fpsphhqwqhwu+gjvsxx4zdvqw009u4uu...@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"

Are you absolutely sure the supplied URL accepts POST requests?  Does
the following command work?

curl -d 'foo=bar&baz=boo' <your url>

Also, I think you might need to close the request stream before you get
the response.

Jackson



On Fri, Feb 17, 2012 at 10:23 AM, Chris House <[email protected]>
wrote:

> Greetings ? I?m working on my first MonoTouch app (other than Hello 
> World of course).  I?m trying to do a POST to a web address so  I can 
> get an authentication cookie that will be used in subsequent RESTful 
> calls.  What I?m seeing is that when I do the post and include the 
> post data in  the request stream, it times out when I call 
> HttpWebRequest.GetResponse().  If I remove the line of code that 
> writes to the request stream then I don?t get a timeout.  ****
>
> ** **
>
> Here?s what the code looks like:****
>
> ** **
>
> HttpWebRequest authRequest =
> (HttpWebRequest)WebRequest.Create(this.AuthActionUrl);****
>
> authRequest.AllowAutoRedirect = false;****
>
> authRequest.Method = ?POST?;****
>
> byte[] postData = this.GetPostData();****
>
> authRequest.ContentType = ?application/x-www-form-urlencoded?;****
>
> authRequest.GetRequestStream.Write(postData, 0, postData.Length);  // 
> Commenting this line out eliminates the timeout****
>
> authRequest.Headers.Add(Constants.SingleSignOn.COOKIE, string.Joing(? 
> ?,
> cookieJar.ToArray()));****
>
> ** **
>
> using (HttpWebResponse authResponse =
> (HttpWebResponse)authRequest.GetResponse())  // This is where the 
> timeout
> occurs****
>
> {****
>
>   cookieJar.Clear();****
>
>   ProcessCookies(authResponse);****
>
> }****
>
> ** **
>
> Any suggestions would be appreciated.****
>
> ** **
>
> Thanks,****
>
> ** **
>
> Chris****
>
> ** **
>
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
>
>
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to