03.07.2024, 18:39
I am trying to send the following command to SONY Bravia TV with REST API request.
While I successfully sent the exact same command with XML request body with Postman,
when I try with LM I am getting 500 Internal Server Error.
Am I missing something in my code?
The example code from SONY Bravia official is the follwoing.
https://pro-bravia.sony.net/ja/develop/i...entication
Thank you for your help in advance!
While I successfully sent the exact same command with XML request body with Postman,
when I try with LM I am getting 500 Internal Server Error.
Am I missing something in my code?
Code:
local http = require("socket.http")
local ltn12 = require("ltn12")
path = 'http://172.16.1.11/sony/ircc'
payload = [[<?xml version="1.0"?>
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:X_SendIRCC
xmlns:u="urn:schemas-sony-com:service:IRCC:1">
<IRCCCode>AAAAAgAAAJcAAAArAw==</IRCCCode>
</u:X_SendIRCC>
</s:Body>
</s:Envelope>]]
local response_body = { }
local res, code, response_headers, status = http.request
{
url = path,
method = "POST",
headers =
{
["Accept"] = "*/*",
["Host"] = "172.16.1.1",
["Content-Type"] = "application/xml",
["SOAPACTION"] = "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC",
["X-Auth-PSK"] = "1707",
["Connection"] = "Keep-Alive",
["Content-Length"] = payload:len()
},
source = ltn12.source.string(payload),
sink = ltn12.sink.table(response_body)
}
log("Response:", table.concat(response_body))
log("Status:", status)
log("Code:", code)
log("Response Headers:", response_headers)
log("Result:", res)
The example code from SONY Bravia official is the follwoing.
https://pro-bravia.sony.net/ja/develop/i...entication
Thank you for your help in advance!