Connection with SDK 22.3.0 with Husky 2019 R2

Hello,

Is it possible to connect with a sdk version 22.3.0 to a husky system version 2019 R2?

If you try with an older x86 version of the SDK, the connection is possible to the husky system.

Yes, the newer MIP SDK’s will still support older versions of the VMS.

It is important to note that the option “SecureOnly” will only work for newer XProtect VMS versions (where you can setup encrypted communication using certificates)..

EDIT: I made a wrong answer, see below..

Hello,

Here is a code snippet from our project for logging into our Milestone test system. In our opinion, this matches the C# samples available from Milestone. Furthermore, we have a statement from Milestone that it is not guaranteed that the SDK will work with a Milestone version from 2019: “We don’t guarantee compatibility with versions that old. Especially if those Huskies are running e-Code (I don’t know much about the Husky series) they will not work with latest versions of the SDK.”

Code for Login:

------------------------------------------------------------------------------------------------------------------------------------

Public Sub Login(sServer As String, sUsr As String, sPwd As String, Optional authtype As MS_AUTHTYPE = MS_AUTHTYPE.BASIC)

Dim cc As CredentialCache

Dim nc As NetworkCredential

Dim sError As String = ""

'Check protokoll (https or http, and supplement if necessary)

If Not (sServer.StartsWith(Uri.UriSchemeHttps + Uri.SchemeDelimiter) = True Or sServer.StartsWith(Uri.UriSchemeHttp + Uri.SchemeDelimiter) = True) Then

  sServer = Uri.UriSchemeHttp + Uri.SchemeDelimiter + sServer

End If

Try

  m\_Uri = New Uri(sServer)

Catch ex As UriFormatException

  Debug.Print(ex.Message)

  RaiseEvent evError(ex.Message)

  Exit Sub

End Try

VideoOS.Platform.SDK.Environment.RemoveAllServers()

Select Case authtype

  Case MS\_AUTHTYPE.WINDOWS\_CREDENTIALS

    ' This will use specific Windows credentials

    nc = New NetworkCredential(sUsr, sPwd)

    VideoOS.Platform.SDK.Environment.AddServer(False, m\_Uri, nc)

  Case MS\_AUTHTYPE.BASIC

    'You need this to apply "basic" credentials.

    'Below, do AddServer(uri, cc) instead of AddServer(uri, nc)

    cc = VideoOS.Platform.Login.Util.BuildCredentialCache(m\_Uri, sUsr, sPwd, "Basic")

    VideoOS.Platform.SDK.Environment.AddServer(False, m\_Uri, cc)

  Case MS\_AUTHTYPE.LOCAL\_WINDOWS\_CREDENTIALS

    ' This will reuse the Windows credentials you are logged in with

    nc = System.Net.CredentialCache.DefaultNetworkCredentials

    VideoOS.Platform.SDK.Environment.AddServer(False, m\_Uri, nc)

End Select

Try

  ' Login in Milestone System

  VideoOS.Platform.SDK.Environment.Login(m\_Uri, IntegrationId, IntegrationName, Version, ManufacturerName, False)

Catch snfe As ServerNotFoundMIPException

  sError = "Server not found: " + snfe.Message

Catch ice As InvalidCredentialsMIPException

  sError = "User name or Passwort false: " + ice.Message

Catch lfie As LoginFailedInternalMIPException

  sError = "Internal failure in MIP SDK by Login: " + lfie.Message

Catch ex As Exception

  sError = "Another failure occured: " + m\_Uri.DnsSafeHost + " :" + ex.Message

End Try

If sError <> "" Then

  LogMgr.LogMsg(Me, "Exception is occured: " + sError, LMT.LMT\_LOG)

  RaiseEvent evError(sError)

  Exit Sub

End If

Log Message from SDK:

------------------------------------------------------------------------------------------------------------------------------------

MIP: Debug: UserContext.Clear (): All LoginSettings and IdentityCache being cleared

MIP: Debug: LoginSettings.ctor (): Constructed for instance=ee3bd494-97dc-4c01-866b-1b1cdf5e8a83, IdentityTokenCache is null

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll](file:C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll)” geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption “Nur eigenen Code” ist aktiviert.

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\Develop\EBÜS\src\BqaClients\AccBqaClientMileStone\bin\x64\Debug\VideoOS.Common.EnvironmentServices.dll](file:C:/Develop/EB%C3%9CS/src/BqaClients/AccBqaClientMileStone/bin/x64/Debug/VideoOS.Common.EnvironmentServices.dll)” geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption “Nur eigenen Code” ist aktiviert.

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.resources\v4.0_4.0.0.0_de_b77a5c561934e089\System.resources.dll](file:C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.resources.dll)” geladen. Das Modul wurde ohne Symbole erstellt.

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http.resources\v4.0_4.0.0.0_de_b03f5f7f11d50a3a\System.Net.Http.resources.dll](file:C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http.resources/v4.0_4.0.0.0_de_b03f5f7f11d50a3a/System.Net.Http.resources.dll)” geladen. Das Modul wurde ohne Symbole erstellt.

MIP: Debug: ConnectionCheck:IsOAuthServerOnline (): Error(s): No authorization server found at: https://xxx.xxx.xxx.xxx:81/idp/.well-known/openid-configuration: Fehler bei Handshake wegen eines unerwarteten Paketformats.

MIP: Debug: ConnectionCheck:IsOAuthServerOnline (): Error(s): No authorization server found at: http://xxx.xxx.xxx.xxx:81/idp/.well-known/openid-configuration: Object Not Found

MIP: Error: ParallelHandler:GetOAuthServerAddress (): No OAuth server found at http://xxx.xxx.xxx.xxx:81/

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll](file:C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.IdentityModel/v4.0_4.0.0.0__b77a5c561934e089/System.IdentityModel.dll)” geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption “Nur eigenen Code” ist aktiviert.

“AccBqaClientMilestone.exe” (CLR v4.0.30319: AccBqaClientMilestone.exe): “[C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.resources\v4.0_4.0.0.0_de_b77a5c561934e089\System.ServiceModel.resources.dll](file:C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.ServiceModel.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.ServiceModel.resources.dll)” geladen. Das Modul wurde ohne Symbole erstellt.

ConnectionCheck for:https://xxx.xxx.xxx.xxx:81/, Took:446ms

MIP: Debug: ConnectionCheck:IsLegacyServerOnline (): Could not establish connection to server: https://xxx.xxx.xxx.xxx:81/

Der Thread 0x32ac hat mit Code 0 (0x0) geendet.

ConnectionCheck for:http://xxx.xxx.xxx.xxx:81/, Took:548ms

MIP: Debug: ConnectionCheck:IsLegacyServerOnline (): Could not establish connection to server: http://xxx.xxx.xxx.xxx:81/

Der Thread 0x6d64 hat mit Code 0 (0x0) geendet.

MIP: Error: FindBestAddress (): No server found on address: http://xxx.xxx.xxx.xxx:81/

ConstructLoginServer: Unable to identify server type:xxx.xxx.xxx.xxx

MIP: Error: SDKConfiguration.Login(Uri) (): Unable to login on server URI=http://xxx.xxx.xxx.xxx:81/

Ausnahme ausgelöst: “VideoOS.Platform.SDK.Platform.ServerNotFoundMIPException” in VideoOS.Platform.SDK.dll

Der Thread 0x832c hat mit Code 0 (0x0) geendet.

Der Thread 0x2a84 hat mit Code 0 (0x0) geendet.

Der Thread 0x57b4 hat mit Code 0 (0x0) geendet.

Der Thread 0x5a08 hat mit Code 0 (0x0) geendet.

Der Thread 0x1884 hat mit Code 0 (0x0) geendet.

Can it be seen that we are still doing something wrong? As already mentioned, the login works with an older version of the Milestone SDK.

I am sorry but my first reply was wrong. If this is e-code you need to use an older MIP SDK..

https://developer.milestonesys.com/s/article/newest-MIP-SDK-for-XProtect-Professional-VMS-E-code

I had an idea it was old but c-code, which is a mistaken idea. I am sorry for the inconvenience and extra work my reply might have caused.

Hello,

then we will create a version with the old SDK for our customer so that he can continue to use the Husky.