This question is locked. New answers and comments are not allowed.
Hi all,
Sorry for the brevity but I just lost an extremely detailed version of the post due to some "backspace made the page navigate away" issue and honestly, I'm not going to repeat all that I wrote in the past hour.
Following on a post by Mohamed a couple of months ago (http://www.telerik.com/forums/azure-sync-template-issu).
Yesterday I installed and followed the procedures to create my first Azure Mobile Services Telerik sync App. Instructions at: http://www.telerik.com/help/windows-phone/radcontrols-cloud-synchronization-gettingstarted-azure.html. There was a couple of hurdles resolving referenced assemblies, easily understandable, somehow easy to fix and clearly explained on the post mentioned above. However, the last item on that post was some timeout problem and concluded on a support thread (which is not visible).
So here is the problem:
Create the solution. Create the mobile service (including modifying the scripts). Build and run the solution. Everythings works ok. However, once the app tries to contact the Azure M S however, an exception is raised.
The outer exception is: 'Telerik.Windows.Cloud.SynchronizationException' and message is "Error: The request has timed out."; digging deep down all the innerException properties, one reaches an Azure client exception: "Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException" which comes from "Microsoft.WindowsAzure.Mobile" and that is where the timeout message comes from.
Digging using Fiddler, it turns out that the timeout happens on the server, inside Azure Mobile Services itself. This is an entry from the azure log once a read connection is attempted:
Error
The request 'GET /tables/Person?__systemproperties=__createdAt%2C__updatedAt&$filter=(__updatedAt%20gt%20datetime'0001-01-01T05:11:11.000Z')%20and%20(SynchronizationId%20ne%20'be5a7012-ec6e-4def-b6b7-dfa54ebe8a9b')' has timed out. This could be caused by a script that fails to write to the response, or otherwise fails to return from an asynchronous call in a timely manner. At this point in time, the table is empty, configured just as the instructions say.
Note the URI sent from the phone to the Azure M S server.
So, on my original post -which I should have written on a word processor and pasted here so it wouldn't be lost- I presented very clearly how I traced (using Fiddler) this exception to the arguments __createdAt%2C__updatedAt in the query above. Sending the web request with the URI above (and with the required HTTP headers of course) throws this exception on the server and therefore on the phone. Note that looking at fiddler, it takes about 3-5 seconds for the server to send the response (so it IS a timeout).
If the request is sent without the parameter above using Fiddler, the call comes back with an HTTP 200 (OK) response.
The stack trace where that call (with these arguments) come from originate on a Telerik library:
Have you seen this before?
thanks,
Sorry for the brevity but I just lost an extremely detailed version of the post due to some "backspace made the page navigate away" issue and honestly, I'm not going to repeat all that I wrote in the past hour.
Following on a post by Mohamed a couple of months ago (http://www.telerik.com/forums/azure-sync-template-issu).
Yesterday I installed and followed the procedures to create my first Azure Mobile Services Telerik sync App. Instructions at: http://www.telerik.com/help/windows-phone/radcontrols-cloud-synchronization-gettingstarted-azure.html. There was a couple of hurdles resolving referenced assemblies, easily understandable, somehow easy to fix and clearly explained on the post mentioned above. However, the last item on that post was some timeout problem and concluded on a support thread (which is not visible).
So here is the problem:
Create the solution. Create the mobile service (including modifying the scripts). Build and run the solution. Everythings works ok. However, once the app tries to contact the Azure M S however, an exception is raised.
The outer exception is: 'Telerik.Windows.Cloud.SynchronizationException' and message is "Error: The request has timed out."; digging deep down all the innerException properties, one reaches an Azure client exception: "Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException" which comes from "Microsoft.WindowsAzure.Mobile" and that is where the timeout message comes from.
Digging using Fiddler, it turns out that the timeout happens on the server, inside Azure Mobile Services itself. This is an entry from the azure log once a read connection is attempted:
Error
The request 'GET /tables/Person?__systemproperties=__createdAt%2C__updatedAt&$filter=(__updatedAt%20gt%20datetime'0001-01-01T05:11:11.000Z')%20and%20(SynchronizationId%20ne%20'be5a7012-ec6e-4def-b6b7-dfa54ebe8a9b')' has timed out. This could be caused by a script that fails to write to the response, or otherwise fails to return from an asynchronous call in a timely manner. At this point in time, the table is empty, configured just as the instructions say.
Note the URI sent from the phone to the Azure M S server.
So, on my original post -which I should have written on a word processor and pasted here so it wouldn't be lost- I presented very clearly how I traced (using Fiddler) this exception to the arguments __createdAt%2C__updatedAt in the query above. Sending the web request with the URI above (and with the required HTTP headers of course) throws this exception on the server and therefore on the phone. Note that looking at fiddler, it takes about 3-5 seconds for the server to send the response (so it IS a timeout).
If the request is sent without the parameter above using Fiddler, the call comes back with an HTTP 200 (OK) response.
The stack trace where that call (with these arguments) come from originate on a Telerik library:
at Telerik.Windows.Cloud.SynchronizationContext`1.<
SynchronizeAsync
>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Telerik.Windows.Cloud.SynchronizationContext`1.<
SynchronizeAsync
>d__d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Telerik_WP_Azure_1.MainPage.<
MainPage_Loaded
>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<
ThrowAsync
>b__3(Object state)
Have you seen this before?
thanks,