2017-03-07 2 views
0

Ich versuche, mit einer Onvif-Kamera auf den Browser zu kommunizieren, aber bisher keinen Erfolg. Unten ist der Code, den ich verwende, um mit der Onvif-Kamera zu kommunizieren.onvif soap Nachricht Anfrage mit jquery

let soapMessage = '<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">' + 
 
        '<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'+ 
 
        '<GetSystemDateAndTime xmlns="http://www.onvif.org/ver10/device/wsdl"/>'+ 
 
        '</s:Body>'+ 
 
        '</s:Envelope>'; 
 

 
let ipAdd = '192.168.1.100'; 
 
let port = 80; 
 
let path = '/onvif/device_service'; 
 

 
let url = `http://${ipAdd}:${port}${path}`; 
 
$.ajax(
 
{ 
 
    type : 'POST', 
 
    url, 
 
    contentType : 'text/xml; charset="utf-8"', 
 
    dataType: "xml", 
 
    processData: false, 
 
    data \t : soapMessage, 
 
    success : processSuccess, 
 
    error \t : processError \t 
 
}); 
 

 
function processSuccess(data, status, req) 
 
{ 
 
    console.log('SUCCESS'); 
 
    } 
 

 
function processError(data, status, req) 
 
{ 
 
    console.log('ERROR'); 
 
}

ich bin immer ein net::ERR_EMPTY_RESPONSE

, was ich falsch mache. Hilfe benötigt

Antwort

0

Mein Arbeitsbeispiel auf Ihre Frage zu stützen:

var soapMessage = '<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">' + 
 
        '<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'+ 
 
        '<GetSystemDateAndTime xmlns="http://www.onvif.org/ver10/device/wsdl"/>'+ 
 
        '</s:Body>'+ 
 
        '</s:Envelope>'; 
 
        
 

 

 
var ipAdd = '192.168.2.110'; 
 
var port = 80; 
 
var path = '/onvif/device_service'; 
 

 
var wsurl = `http://${ipAdd}:${port}${path}`; 
 
jQuery.support.cors = true; 
 

 
    $.ajax({ 
 
     type: "POST", 
 
     url: wsurl, 
 
     crossDomain: true, 
 
     processData: false, 
 
     data: soapMessage, 
 
     success: processSuccess, 
 
     error: processError 
 
    }); 
 

 
}