How can I POST JSON arguments (Request Payload) using MATLAB's webwrite?

I am using a data acquisition module with a web server. I would like to Post a run command to start an acquisition. Below are my commands with the error response.
>> s_sch = 'http://webdaq316-ae.local/api/v1.0/schedule/status/';
>> options = weboptions('ContentType','json','MediaType','application/json','RequestMethod','post','ArrayFormat','json')
options =
weboptions with properties:
CharacterEncoding: 'auto'
UserAgent: 'MATLAB 9.5.0.944444 (R2018b)'
Timeout: 5
Username: ''
Password: ''
KeyName: ''
KeyValue: ''
ContentType: 'json'
ContentReader: []
MediaType: 'application/json'
RequestMethod: 'post'
ArrayFormat: 'json'
HeaderFields: []
CertificateFilename: 'C:\Program Files\MATLAB\R2018b\sys\certificates\ca\rootcerts.pem'
>> apikey = 'True'
apikey =
'True'
>> json_command = ['{"run": ', apikey,'}']
json_command =
'{"run": True}'
>> start_sch = webwrite(s_sch,json_command, options)
However, I get the following error.
Error using readContentFromWebService (line 46)
The server returned the status 415 with message "" in response to the request to URL
http://webdaq316-ae.local/api/v1.0/schedule/status/.
Error in webwrite (line 139)
[varargout{1:nargout}] = readContentFromWebService(connection, options);

댓글 수: 1

If I start the acquisition via the web server, then I can see the POST (using Google Chrome's Developer Tools option), which contains the 'Request Payload' with the code:
{run: true}
I included these parameters in my 'json_command' argument. Is that the correct way?

댓글을 달려면 로그인하십시오.

답변 (2개)

Neeraj Rajpurohit
Neeraj Rajpurohit 2020년 6월 30일
편집: Neeraj Rajpurohit 2020년 6월 30일

0 개 추천

The error code here is 415, which means unsupported media type. The server is not being able to identify the request type. I see that you have added 'Arraytype' as 'json'. Instead, I suggest you to 'MediaType' attribute as 'application/json'. See the below example for reference. I am also attaching a link to the document. Hope it helps!
weboptions('MediaType','application/json');
Thanks,
Neeraj
Mudabbir Bhatti
Mudabbir Bhatti 2022년 7월 18일

0 개 추천

Hi Fausto,
I am having a similar problem. If you were able to solve this issue, please help me.
Thanks,
Bhatti

카테고리

제품

릴리스

R2018b

질문:

2019년 10월 22일

답변:

2022년 7월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by