We developed plugins based on MIP SDK, but sometimes it crashs.

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)

Is your SmartClient generally working?

Regarding the first error, please troubleshoot if there are networking issues that might affect the network communication.

We also would like you to test your Smart Client regards to the issue.

About the second question, please try to test SmartMap, Map and Alarm with using original Smart Client (means without modify) and check if the same symptom happens.

Also I would like you to try following method.

If you get an answer then it works fine (This method is from your error description that you got) ;

http://desktop-epjf7cl:22331/MapService/GisItemService/Message