Comments (23)
Correction:
Dim service As New Service in this code example should be removed and replaced
with
the class level declaration as follows:
Dim WithEvents service As New Service
Original comment by [email protected]
on 28 Jul 2006 at 8:15
from google-gdata.
I have a couple of questions about this bug report:
a) does this run against the calendarservice? If so, are the settings of the
credentials only left out for security purposes?
b) the line service.Insert("URI") does not specify a valid URI. Same reason?
c) if this runs against the calendar, the calendar would return a 404 error
return
value, as the calendar does not support generic extension elements
If this is running against something else, than i have a hard time reproing. I
would
need a trace of the HTTP traffic for this command. Please attach/copy the real
code,
only replacing URIs and username/pwds for security measures.
You are saying this causes an infinite loop. Where?
Original comment by [email protected]
on 31 Jul 2006 at 11:24
- Changed state: Started
- Added labels: Client-CSharp
from google-gdata.
Thanks for your prompt response and as to answer your questions:
a) no, it does not.
b) the URI is totally fine.
Here is the output log:
===================================================================
Returned contenttype is: text/xml from URI : http://localhost:8080/...
Returned statuscode is: OK200
TraceCall: Constructing AtomFeed
TraceCall: parsing stream -> Start:Atom
TraceCall: Initializing basenametable support
TraceCall: Initializing atom nametable support
TraceCall: received new item notification
calling event dispatcher
calling event dispatcher
TraceCall: received new extension element notification
calling event dispatcher
TraceCall: received new extension element notification
new AtomEntry found, adding to collection
==========================================================
The program enters into the infinit loop a few sec after the last line you see
avove
is being printed ("new AtomEntry found, adding to collection")
Please note that if I try calling service.StreamInsert method, I have no
issues.
However, if I then pass the returned Stream to the feed parser, I experience
exactly
the same problem. Please have a look.
===============================
Dim stream As IO.Stream = service.StreamInsert(theUri, entry)
Dim af As New AtomFeed(theUri, service)
af.Parse(stream, AlternativeFormat.Atom)
Dim ae As AtomEntry = af.Entries.Item(0)
===========================================
c) Removing ExtensionElements from the code has no effect.
d) I have no problems at all when call Query method. It works fine.
=======================================
Dim qry As New FeedQuery
qry.Uri = New Uri("URL")
Dim feed As AtomFeed = Me.service.Query(qry)
===============================================
All the code you see, that is all I have. I should only mention that my OS
version
is Windows XP and I run this tests against my local Apache Tomcat 5.5 server.
Please let me know if you require more details.
Thanks again for you help.
Original comment by [email protected]
on 31 Jul 2006 at 1:01
from google-gdata.
To clarify: if you remove the extension element code from the button handler (=>
defacto creating a standard atom element) it does not work either. Also if you
query
the feed later, it does work, so the general parsing of the feeds your server
produces does work? Only when parsing the returned feed on the insert (where the
server should be returning the created entry), the parser seems to fail.
Can you post me the returned xml from the server? That way i can just load this
from
file into the parser and debug the problem.
Thank you
Frank Mantek
Original comment by [email protected]
on 31 Jul 2006 at 3:38
from google-gdata.
Frank,
You've got it. Everything you said in comment #4 is correct.
"Only when parsing the returned feed on the insert (where the
server should be returning the created entry), the parser seems to fail."
I will post the xml shortly.
Regards,
Vitaly
Original comment by [email protected]
on 31 Jul 2006 at 5:05
from google-gdata.
Here goes the XML produced from a returned Stream upon calling the
service.StreamInsert method:
<?xml version="1.0" encoding="UTF-8"?><a:entry
xmlns:a="http://www.w3.org/2005/Atom"><a:title type="text"/><a:updated>2006-07-
31T17:45:40.111Z</a:updated><bps:objectType
xmlns:bps="http://www.bpsserver.com/2006/Resources">DOCUMENT</bps:objectType><a:
id>ht
tp://example.org/ws-spike/services/documents/84</a:id></a:entry>
Please let me know.
Thanks again.
Vitaly
Original comment by [email protected]
on 31 Jul 2006 at 5:52
from google-gdata.
If you sync to the subversion depot, i just checked in a fix for that issue
(hopefully). Let me know if that one solves your problem.
Original comment by [email protected]
on 1 Aug 2006 at 3:43
from google-gdata.
Frank,
Thank you very much.
I am taking gdata.dll from the /trunk/clients/cs/lib/Debug (build 1.0.3.23369)
I'll let you know.
Original comment by [email protected]
on 1 Aug 2006 at 4:07
from google-gdata.
ahh.. that won't work. I did not update the binary, just the source. So you
would
have to build it yourself. I will only update binaries when we do releases...
Original comment by [email protected]
on 1 Aug 2006 at 4:18
from google-gdata.
Frank,
Perhaps, I am looking at the wrong version?
Cause build 1.0.3.23369 (in Debug) does not fix the problem.
Also, your Release Notes document talks about 1.0.4 version. Is that the one I
should be using and where I can find it?
Thanks again.
Original comment by [email protected]
on 1 Aug 2006 at 4:24
from google-gdata.
Got it.
Is it under the /trunk/clients/cs/src/core?
Thanks.
Original comment by [email protected]
on 1 Aug 2006 at 4:28
from google-gdata.
Hi Frank,
I have successfully built the solution.
However, the problem still exists.
Regards,
Vitaly
Original comment by [email protected]
on 1 Aug 2006 at 5:21
from google-gdata.
I am ... never mind, i submited the fix from the wrong machine, that was not the
complete fix.
Sync again, only atomfeedparser.cs should be changed.
Sorry for that.
Original comment by [email protected]
on 1 Aug 2006 at 5:40
from google-gdata.
Frank,
The "infinit loop" problem has now been fixed! Application does not hang
anymore.
Below, is the trace log.
=========================
Google.GData.Client.AtomTextConstruct ... is persistable: True
TraceCall: calling the real execution over the webresponse
Returned contenttype is: text/xml from URI : http://localhost:8080/ws-spike-
2.0/services/documents
Returned statuscode is: OK200
TraceCall: Constructing AtomFeed
TraceCall: parsing stream -> Start:Atom
TraceCall: Initializing basenametable support
TraceCall: Initializing atom nametable support
TraceCall: received new item notification
calling event dispatcher
calling event dispatcher
service_NewAtomEntry
TraceCall: received new extension element notification
calling event dispatcher
TraceCall: received new extension element notification
new AtomEntry found, adding to collection
TraceCall: received new extension element notification
calling event dispatcher
TraceCall: received new extension element notification
new AtomEntry found, adding to collection
TraceCall: received new item notification
calling event dispatcher
calling event dispatcher
service_NewAtomEntry
new AtomEntry found, adding to collection
TraceCall: received new item notification
calling event dispatcher
calling event dispatcher
service_NewAtomEntry
Parsing stream -> Done
=============================
However, there is another problem with the entry object itself.
If you look at the above log, you'll see "service_NewAtomEntry" appears 3
times, it
means that so many times the service_NewAtomEntry event has been fired.
First and Last times, the e.Entry object has been set to Nothing and I can live
with
that by having a logic wrapper around it.
The 2nd time, I got a "good" e.Entry object so I could step through and see the
parse results.
1. The ExtensionElements node data has been parsed correctly!
2. The ID.AbsoluteURI has NOT been parsed ("Object ref not set")
3. The Title.Text has NOT been parsed (Empty string).
I suspect there is still some problems with parsing of a single entry return,
because if I open my URI in a web browser directly, I can see the new entry
shows up
correctly after the service.Insert is being called.
I really appreciate your help in this matter.
Regards,
Vitaly
Original comment by [email protected]
on 1 Aug 2006 at 7:31
from google-gdata.
Frank,
The fix you made for atomfeedparser.cs has introduced another issue.
service.Query on a feed now returns wrong count of entries.
If I switch back to 1.0.2 (1.0.3) version, I get correct enties count again.
Original comment by [email protected]
on 1 Aug 2006 at 8:39
from google-gdata.
The eventfiring might seem strange, given it's not documented. I might need to
add
something about that. The event is supposed to fire 3 times. The first time it
is
fired to give you the chance to create your own entry (e.CreatingEntry is true,
now
you can set the e.Entry to your allocated object). The 2nd time, it is fired
when
this entry is completly parsed. It's fired again when the feed is completed,
then the
e.Feed is set, and DoneParsing is true.
Title.Text has been parsed. The XML you send me above has no Text, so that
value is
fine.
ID. If i debug this, I do get a valid Id.AbsoluteURI, and URI property. So the
case
you send me, works fine for me. Compare that your current return XML is the
same, and
if not, send it over to me for verification.
Original comment by [email protected]
on 2 Aug 2006 at 8:39
from google-gdata.
I have not seen your comment abou the count, before i posted #16. While 16 is
still
correct, i did debug this more closely and i sadly see now that this fix is not
sufficient. The problem was that the inserted change in the parser, skipped
elements
when extensions were found. I checked in a new version of atomfeedparser.cs.
Please
try again.
Original comment by [email protected]
on 2 Aug 2006 at 10:31
from google-gdata.
Yes, certainly I'll try again and let you know.
Thanks again for your time.
Original comment by [email protected]
on 2 Aug 2006 at 12:34
from google-gdata.
The count bug I reported in #15 has now been fixed!
I am going to work through your comments in #16 and I'll let you know as usual.
Thanks again.
Original comment by [email protected]
on 2 Aug 2006 at 1:03
from google-gdata.
As you have not reported back for 6 days now, i assume it is working?
Original comment by [email protected]
on 8 Aug 2006 at 4:01
from google-gdata.
Frank,
I was on vacation last week and as you can imagine I had no chance re-testing
this
issue. I will let you know in any case.
Original comment by [email protected]
on 14 Aug 2006 at 1:45
from google-gdata.
Frank,
I've finally retested this issue and it seems all to work fine now.
Thanks again for your help.
Original comment by [email protected]
on 30 Aug 2006 at 5:01
from google-gdata.
that's good to hear. Thanks for the report
Original comment by [email protected]
on 1 Sep 2006 at 8:14
- Changed state: Verified
from google-gdata.
Related Issues (20)
- How to Update Project Calendar API V2. TO API V.3(VB 2010) HOT 1
- How to Update Project Calendar API V2. TO API V.3(VB 2010) HOT 2
- YouTube V3 on Windows Phone 8.1 Silverlight throws exception on Back Button
- Unable to install GData API for .NET
- No RxCy cellID available
- Invalid Cradential error in calandar api
- Free/available meeting status turns to busy HOT 1
- Patch for /trunk/clients/cs/samples/oauth2_sample/oauth2demo.cs
- .Net Google Calendar API issu (DLL conflict ?) HOT 2
- cannot login any more when using the api HOT 6
- Not able to get calender events... HOT 1
- PublishedAtRaw and PublishedAt both return "nothing" value HOT 3
- i am unable to connenct with oAuth2 using windows service HOT 1
- Patch for /trunk/clients/cs/samples/PhotoBrowser/NewAlbumDialog.cs
- Unable to connect to remote server
- UIDAI
- [deleted issue]
- Unable to compile the solution when using Google Gdata
- Visual Basic
- GOAuth2Request doesn't handling expired token correctly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from google-gdata.