Je suis en train de travailler sur Open Network Video Interface Forum-projet en Java et en suivant les étapes décrites dans le protocole ONVIF Programmeur d'Application du Guide.
J'ai généré les sources de l' wsdls
prévu dans le protocole ONVIF site. Je suis en mesure de récupérer le flux vidéo en direct URI à l'aide de l' media.wsdl
. Maintenant, j'ai un problème avec l'enregistrement. Les codes que j'ai essayé est donnée ci-dessous:
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();
Le code ci-dessus sur exécuter donne une erreur:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Method 'ns11:GetServiceCapabilities' not implemented: method name or namespace not recognized
J'ai aussi essayé avec le service des médias, puis l'erreur est:
Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 405: Method Not Allowed