web-dev-qa-db-ja.com

Open ONVIF(Network Video Interface Forum)デバイスからの録音に関する問題

私はOpen Network Video Interface Forum-Javaプロジェクトに取り組んでおり、 ONVIF Application Programmer's Guide で説明されている手順に従っています。

ONVIFサイトで提供されているwsdlsからソースを生成しました。 media.wsdlを使用してライブストリームURIを取得できます。今録音に問題があります。私が試したコードは以下のとおりです:

RecordingService recording_ervice = new RecordingService();
RecordingPort record_port = recording_ervice.getRecordingPort();


BindingProvider bindingProvider = (BindingProvider) record_port;

// Add a security handler for the credentials
final Binding binding = bindingProvider.getBinding();
List<Handler> handlerList = binding.getHandlerChain();
if (handlerList == null) {
    handlerList = new ArrayList<Handler>();
}

handlerList.add(new RecordStream.SecurityHandler());
// binding.setHandlerChain(handlerList);

// Set the actual web services address instead of the mock service
Map<String, Object> requestContext = bindingProvider.getRequestContext();

requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://" + deviceip + "/onvif/media_service");
requestContext.put(BindingProvider.USERNAME_PROPERTY, user);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, pass);

Recordings recordings = record_port.getRecordings();

実行時の上記のコードは、次のようなエラーになります。

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized

私もメディアサービスで試しましたが、エラーは次のとおりです。

Exception in thread "main" com.Sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 405: Method Not Allowed
89
Neenu

メディアソースで試行したときに、サーバーがエラーコード405を返したため、不正なアクションを要求したようです。メソッドの使用が禁止されているか、メソッドを使用するための資格情報が必要です。

はどうかと言うと Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized、@ Sigismondoは、ほとんどのIPカメラがサポートしていないという事実について正しいです。 IPカメラから録画するには、別の録画方法(リテラルとしゃれ)が必要です。

2
AMDG

http://" + deviceip + "/onvif/media_serviceを使用して録音サービスにアクセスしていますが、これは media.wsdl サービスです。したがって、メディアサービスでgetRecordingsを呼び出そうとすると、エラーが発生するのは正常のようです。

recording.wsdl サービスのURLはhttp://" + deviceip + "/onvif/recording_serviceである必要があります。

Corect URLを取得してレコーディングサービスに到達するには、 devicemgmt.wsdl サービスのGetCapabilitiesメソッドからリクエストする必要があります。

1
mpromonet

HTTP 405-リソースは許可されていません通常、IISで発生します。この問題は、次の条件に該当する場合に発生します。

  • ファイル名は指定しません。たとえば、http:// Server/Web/...は指定しません。

  • スクリプトオブジェクトモデル(SOM)が有効になっています。

  • DTCイベントが呼び出されます。

したがって、SOMが有効になっている場合、ページに<form>タグが挿入されます。このタグは無効であり、アクションが含まれていません。

0
Ashraf.Shk786