Have a solution now. It's a two part solution:

a) by default the calendarservice will no longer use the X-Method-Override
system. Hence, we use HTTP Delete, that works
b) if MethodOverride is set to true (for strange proxy scenarios, where HTTP
verb DELETE/PUT are not forwarded), the old code will run, but we get the
requeststream and close it directly.

That seems to work fine (and is recommended in a knowledgebase article by
MS).

I am going to check this in (including new Windows Mobile binaries) shortly.

Frank Mantek
Google

On 1/12/07, Frank Mantek <[EMAIL PROTECTED]> wrote:
>
> Cory,
>
> change the following in your code:
>
> after you create the service, do:
>
>  ((GDataGAuthRequestFactory)calsvc.RequestFactory).MethodOverride = false;
>
>
> That fixes the issue. I will look into a more permanent solution, but that
> takes some investigation.
>
> Frank
>
> On 1/12/07, Frank Mantek <[EMAIL PROTECTED]> wrote:
> >
> > Cory, just to clarify, this is all true on the .NET CF2.0 compact
> > framework, right?
> >
> > Frank
> >
> > On 1/12/07, Cory Albrecht < [EMAIL PROTECTED]> wrote:
> > >
> > >
> > > On 11/01/07, Cory Albrecht <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Done and done, issue #39 with file CrashTestDummy.zip attached as an
> > > > example.
> > > >
> > >
> > > I think I may have narrowed down where the problem is.
> > >
> > > I thought that might tray to hack out my own code to deal with GData
> > > feeds for Blogger, rather than use the .NET library, and as I was going
> > > through the motions with HttpWebRequest and HttpWebResponse objects to 
> > > make
> > > the request & read the response I noticed something odd.
> > >
> > > At one point, on my request object I set request.ContentLength = 0 on
> > > a HTTP get request. I thought "Well, this is a GET request so no body data
> > > is being sent along with the headers, sor it's logical to set
> > > request.ContentLength to zero." So along I coded and with
> > > request.Methd = "GET" and ContentLength set to zero I called
> > > request.GetResponse() I got the _exact_same_ NullReferenceException
> > > that I described. I had to leave request.ContentLength alone, at it's
> > > initial value of -1, for request.getResponse() to work.
> > >
> > > So I went and traced through .NET library to see what happened whne I
> > > called EventEntry.Delete(). Lo and behold in the file request.cs, on
> > > lines 330 to 333 was this:
> > >
> > >                     if (http.Method == HttpMethods.Delete)
> > >                     {
> > >                         http.ContentLength = 0;
> > >                     }
> > >
> > > Later, when eventually inside GDataRequest.Execute() at line 400 ("
> > > this.webResponse = this.webRequest.GetResponse(); ") is when the
> > > NullReferenceException actually happens.
> > >
> > > So I commented out that line setting ContentLength, tried my Calendar
> > > app and I no longer got the NullReferenceException. :-) Unfortunately, I 
> > > did
> > > get a GDataRequestException . :-(
> > >
> > > It's for me, and I don't feel like muckign about futher inside teh
> > > GData/.NET library's innards, so I hope that this is helpful; to you in
> > > fiding what exactly the bug is.
> > >
> > > --
> > > Cory C. Albrecht
> > >
> > >
> > > > > >
> > >
> >
>


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"Google Calendar Data API" group.
To post to this group, send email to 
[email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-calendar-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to