Microsoft OData Client Xamarin not working
Asked Answered
S

1

7

Does anyone know if and how the Microsoft OData Client is supposed to work on Xamarin Droid?

It's the NuGet package 'Microsoft.OData.Client'.

It works fine on a Console application, even where the assembly packages are contained only within a PCL project.

I have been trying via the OData v4 Code generator.

When running on Xamarin this is what I get:

System.AggregateException: One or more errors occured

08-28 17:12:35.621 I/MonoDroid(29197): UNHANDLED EXCEPTION: System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.DataServiceRequest.EndExecute[Nitzrech] (System.Object source, Microsoft.OData.Client.DataServiceContext context, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task.Wait (int,System.Threading.CancellationToken) <IL 0x0004a, 0x0025c>
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task.Wait () <IL 0x00007, 0x00077>
08-28 17:12:35.621 I/MonoDroid(29197): at System.Threading.Tasks.Task`1<System.Collections.Generic.IEnumerable`1<Client.ODataClient.Nitzrech>>.get_Result () <0x0007b>
08-28 17:12:35.621 I/MonoDroid(29197): at Client.DataAccess.NewRepository.GetServerTable<Client.ODataClient.Nitzrech> () <0x00167>
08-28 17:12:35.621 I/MonoDroid(29197): at Client.Droid.MainActivity.OnCreate (Android.OS.Bundle) [0x00032] in c:\Users\Avrohom\Documents\Visual Studio 2013\Projects\OData\Client\Client\Client.Droid\MainActivity.cs:33
08-28 17:12:35.621 I/MonoDroid(29197): at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) [0x00011] in /Users/builder/data/lanes/monodroid-mlion-monodroid-4.14-series/a5d57087/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2179
08-28 17:12:35.621 I/MonoDroid(29197): at (wrapper dynamic-method) object.aebd8c0d-1bcc-4b67-a482-f6f129f09cca (intptr,intptr,intptr) <IL 0x00017, 0x00043>
08-28 17:12:35.621 I/MonoDroid(29197): 
08-28 17:12:35.621 I/MonoDroid(29197):  --> (Inner exception 0) Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   --- End of inner exception stack trace ---
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:35.621 I/MonoDroid(29197):   at Microsoft.OData.Client.DataServiceRequest.EndExecute[Nitzrech] (System.Object source, Microsoft.OData.Client.DataServiceContext context, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
An unhandled exception occured.

08-28 17:12:36.661 E/mono    (29197): 
08-28 17:12:36.661 E/mono    (29197): Unhandled Exception:
08-28 17:12:36.661 E/mono    (29197): System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.661 E/mono    (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.661 E/mono    (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object sourc
08-28 17:12:36.671 E/mono-rt (29197): [ERROR] FATAL UNHANDLED EXCEPTION: System.AggregateException: One or more errors occured ---> Microsoft.OData.Client.DataServiceQueryException: An error occurred while processing this request. ---> System.InvalidOperationException: An error occurred while processing this request. ---> System.InvalidCastException: Cannot cast from source type to destination type.
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.AsyncEndRead (System.Threading.Tasks.Task task, System.Object asyncState) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.BaseAsyncResult.EndExecute[QueryResult] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System.Object source, System.String method, IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
08-28 17:12:36.671 E/mono-rt (29197):   --- End of inner exception stack trace ---
08-28 17:12:36.671 E/mono-rt (29197):   at Microsoft.OData.Client.QueryResult.EndExecuteQuery[Nitzrech] (System
In mgmain JNI_OnLoad
The program 'Mono' has exited with code 0 (0x0).

Anyone out there with a suggestion please?

Regards,

Avrohom

Steinmetz answered 28/8, 2014 at 16:22 Comment(1)
What version are you using? This seems to be a nugget packaging issue, which was fixed in ODataLib 6.5.0.Considering
T
0

I don't believe this package supports Xamarin - from the nuget page:

Targets .NET Core 5, and .NET Portable Lib with support for .NET 4.0, SL 5.0, Win Phone 8, Win Phone 8.1, and Win 8.

I'd suggest filing an issue with the developer of the library for more information on this as it may well be a bug if it does support Xamarin:

https://github.com/OData/odata.net/issues

There is the following component in the Components Store which should work, though it has been a while since it has been updated:

https://components.xamarin.com/view/simple.odata.client

Theodolite answered 29/7, 2016 at 12:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.