How do I look at the payload of a webwrite response when the response is a 400 or other error?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 5 Mär. 2018
Beantwortet: Richard Zapor
am 6 Sep. 2025 um 0:14
How do I look at the payload of a "webwrite" response when the response is a 400 or other error? It throws a MATLAB error, but doesn't display any of the error messages the server sent back as payload.
My code looks something like this:
json_request = struct('a', nan);
json_response = webwrite('http://localhost:8000/reports/', json_request, ...
weboptions('MediaType', 'application/json', 'RequestMethod', 'post'))
Akzeptierte Antwort
MathWorks Support Team
am 5 Mär. 2018
So basically, you can't get the payload of an error response using "webwrite". However you can get this using the HTTP interface. It might look something like:
import matlab.net.http.*
r = RequestMessage;
resp = r.send(url); %replace url with your target address
show(resp)
0 Kommentare
Weitere Antworten (1)
Richard Zapor
am 6 Sep. 2025 um 0:14
A slight variation on the Accepted answer is for when Posting a JSON string.
import matlab.net.http.*
body = MessageBody(jsonencode(data)); % or body=data_string of JSON
r = RequestMessage('POST', [], body);
resp = r.send(url);
show(resp)
resp.Body.Data %To see the error message content
0 Kommentare
Siehe auch
Kategorien
Mehr zu Call Web Services from MATLAB Using HTTP finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!