快速背景信息:有一个 wcf 使用 BasicHttpBinding 进行身份验证。Dataservice.cs 包含基于服务元数据(使用 svcutil 生成)的 dataserviceclient。
我首先使用代码制作了一个控制台应用程序,它运行良好,然后我制作了一个 xamarin android 项目。我复制了代码。引用 system.runtime.serialization 和 system.servicemodel。这给了我一个 The method or operation is not implemented 错误。
主要代码:
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 编程的新手,所以我可能会在这里遗漏关键点,但请记住,它作为控制台应用程序工作并且服务在线(不是本地主机)。
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/Mono(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] in
/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] in
/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] in
/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] in
/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):在DataServiceClient.GetProjects (Int32 Firmaid) [0x00001] 在 C:\Users\username\documents\visual studio 2015\Projects\somethingMobileApp
\somethingMobileAppAndroid\DataService.cs:10752 07-20 11:35:39.708 I/MonoDroid(1452):在 C:\Users\username\documents\ 中的 somethingMobileAppAndroid.MainActivity.OnCreate(Android.OS.Bundle 包)[0x0006d]视觉工作室 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/单声道(1452):07-20 11:35:42.112 E/单声道(1452):未处理的异常:07-20 11:35:42.112 E/单声道(1452):系统。 NotImplementedException:方法或操作未实现。07-20 11:35:42.112 E/mono (1452): at (wrapper dynamic-method) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr,intptr,intptr) 07-20 11:35:42.112 E/mono (1452): at (wrapper native-to-managed) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr,intptr,intptr) 在 mgmain JNI_OnLoad 07-20 11:35:42.112 E/mono -rt(1452):[错误]致命的未处理异常:System.NotImplementedException:方法或操作未实现。07-20 11:35:42.112 E/mono-rt (1452): at (wrapper dynamic-method) System.Object:c637c172-2e79-4a17-a720-5e2325d945f7 (intptr,intptr,intptr) 07-20 11:35 :42.112 E/单声道 (1452):
有什么建议吗?:)