簡単な背景情報: BasicHttpBinding を使用する認証付きの wcf があります。Dataservice.cs には、(svcutil を使用して生成された) サービス メタデータに基づく dataserviceclient が含まれています。
最初にコードを使用してコンソール アプリを作成し、それが完全に機能した後、xamarin android プロジェクトを作成しました。コードをコピーしました。system.runtime.serialization と system.servicemodel を参照しました。これにより、メソッドまたは操作が実装されていないというエラーが表示されます。
メインコード:
base.OnCreate(bundle);
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
EndpointAddress address = new EndpointAddress("https://serviceurl/service1.svc");
PermissiveCertificatePolicy.Enact("CN=MySelfSignedCert");
var client = new DataServiceClient(binding, address);
client.ClientCredentials.UserName.UserName = "Username";
client.ClientCredentials.UserName.Password = "Passord";
try
{
var projects = client.GetDataTest(1);
}
catch (Exception ex)
{
var error = ex.Message;
}
私は Xamarin プログラミングに慣れていないので、ここで重要なポイントを見逃している可能性がありますが、これはコンソール アプリとして機能し、サービスは (localhost ではなく) オンラインであることを覚えておいてください。
Unhandled Exception:
System.NotImplementedException: メソッドまたは操作が実装されていません。
07-20 11:35:39.704 D/Mono (1452): DllImport を読み込もうとしています: '/system/lib/liblog.so'. 07-20 11:35:39.704 D/Mono (1452): DllImport がライブラリ '/system/lib/liblog.so' をロードしました。07-20 11:35:39.704 D/Mono (1452): DllImport 検索: '/system/lib/liblog.so' ('/system/lib/liblog.so')。07-20 11:35:39.704 D/Mono (1452): 「__android_log_print」を検索しています。07-20 11:35:39.704 D/モノ (1452): '__android_log_print' を調べます。07-20 11:35:39.704 D/Mono (1452): 「__android_log_print」として見つかりました。07-20 11:35:39.708 I/MonoDroid(1452): 未処理の例外: 07-20 11:35:39.708 I/MonoDroid(1452): System.NotImplementedException: メソッドまたは操作が実装されていません。07-20 11:35:39.708 I/MonoDroid (1452): System.ServiceModel.BasicHttpBinding で。
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpBinding_4_5.cs:125 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.BasicHttpBinding.CreateBindingElements () [0x00006] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpBinding_4_5.cs:98 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.Channels.CustomBinding..ctor (System.ServiceModel.Channels.Binding バインディング) [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/CustomBinding.cs:60 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.Channels.Binding.CreateContext (System.ServiceModel.Channels.BindingParameterCollection パラメーター) [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/Binding.cs:96 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.Channels.Binding.CanBuildChannelFactory[TChannel] (System.ServiceModel.Channels.BindingParameterCollection パラメーター) [0x00011] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/Binding.cs:267 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.ChannelFactory.CreateFactory () [0x000ad] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory.cs:199 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.ChannelFactory.OnOpening () [0x00006] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory.cs:383 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.Channels.CommunicationObject.ProcessOpening () [0x00017] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/CommunicationObject.cs:276 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.Channels.CommunicationObject.Open (TimeSpan タイムアウト) [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/CommunicationObject.cs:169 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.Channels.CommunicationObject.Open () [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel.Channels/CommunicationObject.cs:164 07-20 11:35:39.708 I/MonoDroid(1452) : System.ServiceModel.ChannelFactory.EnsureOpened () [0x00058] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory.cs:297 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.ChannelFactory`1[TChannel].CreateChannel () [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory_1.cs:108 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.ClientBase`1[TChannel].CreateChannel () [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ClientBase.cs:266 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.ClientBase`1[TChannel].get_InnerChannel () [0x0000b] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ClientBase.cs:186 07-20 11:35:39.708 I/MonoDroid(1452): でSystem.ServiceModel.ClientBase`1[TChannel].get_Channel () [0x00000] で
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ClientBase.cs:192 07-20 11:35:39.708 I/MonoDroid(1452): でC:\Users\username\documents\visual studio 2015\Projects\somethingMobileApp の DataServiceClient.GetProjects (Int32 ファームエイド) [0x00001]
\somethingMobileAppAndroid\DataService.cs:10752 07-20 11:35:39.708 I/MonoDroid(1452): somethingMobileAppAndroid.MainActivity.OnCreate (Android.OS.Bundle バンドル) [0x0006d] で C:\Users\username\documents\ビジュアル スタジオ 2015\プロジェクト
\somethingMobileApp\somethingMobileAppAndroid\MainActivity.cs:50 07-20 11:35:39.708 D/Mono (1452): DllImport 検索: '__Internal' ('(null)')。07-20 11:35:39.712 D/Mono (1452): 「java_interop_jnienv_new_string」を検索しています。07-20 11:35:39.712 D/Mono (1452): 'java_interop_jnienv_new_string' を調べています。07-20 11:35:39.712 D/Mono (1452): 「java_interop_jnienv_new_string」として見つかりました。07-20 11:35:39.716 D/Mono (1452): DllImport 検索: '__Internal' ('(null)')。07-20 11:35:39.716 D/Mono (1452): 「java_interop_jnienv_throw」を検索しています。07-20 11:35:39.716 D/Mono (1452): 'java_interop_jnienv_throw' を調べています。07-20 11:35:39.716 D/Mono (1452): 「java_interop_jnienv_throw」として見つかりました。未処理の例外が発生しました。
07-20 11:35:42.112 E/mono (1452): 07-20 11:35:42.112 E/mono (1452): 未処理の例外: 07-20 11:35:42.112 E/mono (1452): システム。 NotImplementedException: メソッドまたは操作が実装されていません。07-20 11:35:42.112 E/モノ (1452): (ラッパー動的メソッド) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr、intptr、intptr) 07-20 11:35:42.112 E/mono (1452): (ラッパー ネイティブからマネージド) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr,intptr,intptr) In mgmain JNI_OnLoad 07-20 11:35:42.112 E/mono -rt (1452): [エラー] FATAL UNHANDLED EXCEPTION: System.NotImplementedException: メソッドまたは操作が実装されていません。07-20 11:35:42.112 E/mono-rt (1452): (ラッパー動的メソッド) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr、intptr、intptr) 07-20 11:35 :42.112 E/mono-rt (1452):
なにか提案を ?:)