2017-01-09 158 views
0

我一直在ONVIF工作一週。我想實現ONVIF提供的所有服務。我已經設法發現ONVIF設備並獲取有關設備的信息(如設備名稱,配置文件,Uri)。我在我的代碼中使用Onvif(發現,服務,會話,utils)和utils(async,common,diagnostic,utils.fsharp)作爲項目。無法連接Onvif相機

我有兩個攝像頭一個是ReadLeaf,另一個是IPNC。我能夠成功發現他們兩人。當我試圖獲得關於設備的信息時,我能夠正確獲得ReadLeaf相機的信息,但是在IPNC的情況下,它給我一個錯誤: -

'System.ServiceModel.Security.MessageSecurityException'發生在 mscorlib.dll中,但未在用戶代碼中處理。

Additional information: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Digest realm="onvif", qop="auth,auth-int", nonce="587343b5ca703a95f874", opaque="08138641"'.

我GOOGLE了這個錯誤,並發現可能有兩個可能的問題:

1)客戶端和服務器的安全設置不匹配。

2)通常發生這種情況的原因是消息正在向Web日誌服務器發送時間戳,並且響應沒有時間戳,請嘗試關閉安全性中的時間戳。

然後我跟我的老人聊天,他告訴我在相機端的onvif實現中存在問題。相機制造商沒有正確地將onvif實施到相機中。

現在,我有點困惑,這裏的確切問題是什麼,以及問題的解決方案是什麼。

相機的詳細: -

ReadLeaf型號 - RLC-DF2011

IPNC型號 - ONVIF_IPNC

任何形式的幫助將是非常可觀的。

謝謝。

+2

如果我是你,我會嘗試一個標準的onvif工具,看看它是真的相機問題還是你的代碼。示例onvif工具:[ONVIF設備管理器](https://sourceforge.net/projects/onvifdm/) –

+1

如果我沒有記錯(在3年內沒有在ONVIF上工作),相機的日期時間必須與與之通訊的機器。雖然我可能是錯的,就像我說過我從事安全工作已經有一段時間了。我記得有DateTime的問題,雖然 –

+0

@ user3060520我已經使用onvif設備管理器工具,並且在連接到IPNC攝像頭時出現同樣的錯誤。 –

回答

1

相機實現了可選的HTTP摘要認證。當配置文件S相機實現UsernameToken和HTTP摘要認證時,如果未提供認證,則後者必須提交給客戶端。

您看到的錯誤可能是因爲你正在調用需要身份驗證不提供憑據的ONVIF功能,因此相機返回HTTP 401

只需通過添加crediantials對HTTP摘要認證重複調用。如果您使用不實現摘要的攝像頭,請準備好接收soap錯誤代替HTTP 401。

相關問題