クイック背景情報: BasicHttpBindingを使用する認証付きwcfがあります。 Dataservice.csには、サービスメタデータ(svcutilを使用して生成)に基づくdataserviceclientが含まれています。Xamarin WCF BasicHttpBinding - メソッドまたは操作が実装されていません
私は最初にコードを使ってコンソールアプリケーションを作ったが、それは完全に機能し、次に私はxamarinアンドロイドプロジェクトを作った。私はコードをコピーした。 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): '/system/lib/liblog.so'で検索するDllImport( '/system/lib/liblog.so')。 07-20 11:35:39.704 D/Mono(1452): '__android_log_print'を検索しています。 07-20 11:35:39.704 D/Mono(1452):Probing '__android_log_print'。 07-20 11:35:39.704 D/Mono(1452): '__android_log_print'として見つかりました。 07-20 11:35:39.708 I/MonoDroid(1452):UNHANDLED例外: 07-20 11:35:39.708 I/MonoDroid(1452):System.NotImplementedException:メソッドまたは操作が実装されていません。 7月20日11:35:39.708 I/MonoDroid(1452):System.ServiceModel.BasicHttpBinding.CreateSecurityBindingElementで()[0x00025]
/ユーザ/ビルダー/データ/レーン/ 52635947分の2923 /ソース/モノで/mcs/class/System.ServiceModel/System.ServiceModel/BasicHttpBinding_4_5.cs:125 7月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 7月20日11:35:39.708 I/MonoDroid(1452):
/ユーザ/ビルダー/データ/レーン/ 52635947分の2923 /ソース/モノにおけるSystem.ServiceModel.Channels.Binding.CreateContext(System.ServiceModel.Channels.BindingParameterCollectionパラメータ)[0x00000]で/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] in
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel.Channels/Binding.cs:267 07-20 11:35:39.708 I/MonoDroid (1452):System.ServiceModel.ChannelFactoryを参照してください。
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory.cs:199 7月20日11にCreateFactory()[0x000ad] :35:39.708 I/MonoDroid(1452):System.ServiceModel.ChannelFactory.OnOpeningで()[0x00006]
/ユーザ/ビルダー/データ/レーン/ 52635947分の2923 /ソース/モノ/ MCS /クラス/中System.ServiceModel/System.ServiceModel/ChannelFactory.cs:383 7月20日11:35:39.708 I/MonoDroid(1452):System.ServiceModel.Channels.CommunicationObject.ProcessOpeningで()[0x00017]
に/ユーザー/ビルダー/データ/レーン/ 2923/52635947 /ソース/モノ/ mcs /クラス/システムm.ServiceModel/System.ServiceModel.Channels/CommunicationObject.cs:276 07-20 11:35:39.708 I/MonoDroid(1452):System.ServiceModel.Channels.CommunicationObject.Open(TimeSpanタイムアウト)[0x00000] in
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel.Channels/CommunicationObject.cs:169 07-20 11:35:39.708 I/MonoDroid(1452):System.ServiceModel.Channels.CommunicationObject.Open()[0x00000] in
/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):at System.ServiceModel.ChannelFact ()[0x00058]
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ChannelFactory.cs:297にory.EnsureOpened 07- 20 11:35:39.708 I/MonoDroid(1452):System.ServiceModel.ChannelFactory`1 [TChannel] .CreateChannel()[0x00000] in
ユーザー/ビルダー/データ/レーン/ 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] in
/ユーザー/ builder/data/lanes/2923/52635947/source/mono/m 265 07-20 11:35:39.708 I/MonoDroid(1452):System.ServiceModel.ClientBase`1 [TChannel] .get_InnerChannel()[0x0000b]で、cs/class/System.ServiceModel/System.ServiceModel/ClientBase.cs: ]
/Users/builder/data/lanes/2923/52635947/source/mono/mcs/class/System.ServiceModel/System.ServiceModel/ClientBase.cs:186 7月20日11:35:39.708 I/MonoDroid(1452):System.ServiceModel.ClientBase`1 [TChannel] .get_Channel()[0x00000] in
ユーザー/ 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 \ docのDataServiceClient.GetProjects(Int32 firmaid)[0x00001]にあります。 Visual Studioの2015 \ umentsプロジェクト\ \ somethingMobileApp
\ somethingMobileAppAndroid DataService.cs \:10752 7月20日11:35:39.708 I/MonoDroid(1452):somethingMobileAppAndroid.MainActivity.OnCreateで(Android.OS.Bundleバンドル)[0x0006d] Cで:somethingMobileApp \ somethingMobileAppAndroid \ MainActivity.cs \プロジェクト
\のVisual Studio 2015 \ \ユーザー\ユーザー名\ドキュメント:50 7月20日11:35:39.708 D /モノ(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):Probing '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): '__Internal'( '(null)')で検索するDllImport。 07-20 11:35:39.716 D/Mono(1452): 'java_interop_jnienv_throw'を検索しています。 07-20 11:35:39.716 D/Mono(1452):Probing 'java_interop_jnienv_throw'。 07-20 11:35:39.716 D /モノ(1452): 'java_interop_jnienv_throw'として見つかりました。 未処理の例外が発生しました。
7月20日11:35:42.112 E/MONO(1452): 7月20日11:35:42.112 E/MONO(1452):未処理の例外: 7月20日11:35:42.112 E /モノ(1452):System.NotImplementedException:メソッドまたは操作が実装されていません。 07-20 11:35:42.112 E/mono(1452):at(ラッパー動的メソッド)System.Object:c637c172-2e79-4a17-a720-5e2325d945f7(intptr、intptr、intptr) 07-20 11:35 (intptr、intptr、intptr) mgmain JNI_OnLoad 07-20 11:35:42.112 E/mono(1452) 42.112 E/mono-rt(1452):[エラー]致命的な例外が発生しない例外:System.NotImplementedException:メソッドまたは操作が実装されていません。 07-20 11:35:42.112 E/mono-rt(1452):at(ラッパー動的メソッド)System.Object:c637c172-2e79-4a17-a720-5e2325d945f7(intptr、intptr、intptr) 07-20 11 :35:42.112 E/MONO-RT(1452):c637c172-2e79-4a17-a720-5e2325d945f7(のIntPtr、のIntPtr、のIntPtr)
任意の提案:(ネイティブに管理ラッパー)のSystem.Objectましたか? :)
サービスurlとusername/Passordは実際のコードではokですが、一般的な文字列でマスクされています。 – Kenneth
少なくとも、メソッドまたは操作が実装されていないエラーの例外からスタックトレースの行の最初の数を追加することをお勧めします。現時点では、どの特定の方法または操作が実際には欠落しているかについては言及していません。 –
非常に良い点。私はオリジナルのポスト – Kenneth