We found two weird situations when using MIP SDK.
First, call VideoOS.Platform.SDK.Environment.Login(uri); URL structure is as following:
Uri uri = new UriBuilder(strUrl).Uri;
String strAuthorization = (struServiceInfo.iType == 1) ? "Basic" : "Negotiate";
CredentialCache \_credentialCache = VideoOS.Platform.Login.Util.BuildCredentialCache(uri, struServiceInfo.strUser, struServiceInfo.strPW, strAuthorization);
VideoOS.Platform.SDK.Environment.AddServer(uri, \_credentialCache);
We found the following bug:
08-01 19:26:55,649] 10 – INFO – milestoneService.ServiceMain [fnLoginMIP] – fnLoginMIP exception: VideoOS.Platform.SDK.Platform.ServerNotFoundMIPException
in VideoOS.Platform.SDK.Environment.Login(Uri serverUri, Boolean masterOnly)
in milestoneService.ServiceMain.fnLoginMIP(Uri uri)
Second,
We get the following information from server when we were trying to get data of our device:
[2019-08-02 16:13:50,939] 10 – INFO – milestoneService.ServiceMain [fnLoginMIP] – fnStartGetChangeStatus exception: VideoOS.Platform.ServerFaultMIPException: http server from http://desktop-epjf7cl:22331/MapService/GisItemService/Message is unusable. This may because the service is too busy, or because havn’t found specified place. Please make sure address is correct, then try accessing the service again. —> System.ServiceModel.FaultException`1[VideoOS.ConfigurationApi.ClientService.ServerExceptionFault]: http server from http://desktop-epjf7cl:22331/MapService/GisItemService/Message is unusable. This may because the service is too busy, or because havn’t found specified place. Please make sure address is correct, then try accessing the service again.
Server stack trace:
在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
VideoOS.ConfigurationApi.ClientService.IConfigurationService.GetChildItems(String path)
VideoOS.Platform.Proxy.ConfigApi.ConfigurationServiceClientDecorator.<>c__DisplayClass7_0.b__0(ConfigurationServiceClient client)
VideoOS.Platform.Proxy.ConfigApi.ConfigurationServiceClientDecorator.CallWithRetry[TResult](Func`2 call)
VideoOS.Platform.Proxy.ConfigApi.ConfigurationServiceClientDecorator.GetChildItems(String path)
VideoOS.Platform.Proxy.ConfigApi.ConfigurationApiItemWrapper.Children()
— weird stack —
VideoOS.Platform.Proxy.ConfigApi.ConfigurationApiItemWrapper.Children()
VideoOS.Platform.Util.GisMap.GisMapLocationItemWrapper.GetChildren()
milestoneService.Module.MipDriverExchange.fnFillDeviceLst(List`1 lstDeviceInfo, Item item)
milestoneService.Module.MipDriverExchange.fnGetCameraList()
milestoneService.Module.MipDriverExchange.fnStartGetChangeStatus()
milestoneService.ServiceMain.fnLoginMIP(Uri uri)