Json rpc

Moin,

ich versuche mich gerade mit im Datenaustausch per json-rpc, nur leider funktioniert es nicht so wie ich möchte.

Der json-request sieht folgendermaßen aus:

request.jpg

als Antwort bekomme ich folgendes:

antwort.jpg

Den request erzeuge ich mit folgender jquery-Funktion:

function JSONRPC(url, methode, parameter) {
var request = {};
request.jsonrpc = "2.0";
request.method = methode;
request.params = {};
request.params =parameter;
request.id = "1";
function displayResult(response) {
        if (response.result)
                alert(response.result);

        else if (response.error)
                alert("Fehler: " + response.error.message);
};

$.post(url, JSON.stringify(request), displayResult, "json");
}

rpc-Schnittstelle ist aktiviert, die Variable gibt es und mit:

$rpc = new JSONRPC("http://user:pass@192.168.3.2:85/api/");
$rpc->SetValue(17889, 18);

Kann ich die Variable setzen.

Any ideas?

Grüße aus dem Norden

Wango

Du musst den Content-Type beim Senden noch auf application/json setzen :slight_smile:

paresy

Upps, das war ich wohl etwas blind :slight_smile:

Jetzt habe ich leider das nächste Problem. Das ganze funktioniert ohne Authentifizierung wunderbar. Sobald ich einen Benutzernamen und ein Passwort vergebe, gibt es nur noch ein freundliches: „Invalid Username/Password for JSON-RPC!“ als Antwort.

Zur Info - per Curl vom Raspberry PI:

curl --data-binary '{"jsonrpc": "2.0", "method":"GetValue", "params":[Variablen_ID], "id":1}' -H 'content-type: application/json;'  -u 'user:password' "http://ip:port/api/"