cancel
Showing results for 
Search instead for 
Did you mean: 

ADF Call Post webscript

sanjaybandhaniya
Elite Collaborator
Elite Collaborator

I am trying to get datalist value in my adf application and i can use GETmethod properly but at one place i need to call POST method so how can i call post method with body?

Below way I am using GET method.
this.alfrescoJsApi.core.webscriptApi.executeWebScript('GET', 'slingshot/datalists/data/node/workspace/SpacesStore/ce744915-6130-40b8-9c57-6b7c442f656f')
.then(function (data) {
console.log('Data' , data);
}, function (error) {
console.log('Error' + error);
});
3 REPLIES 3

eugenio_romano
Elite Collaborator
Elite Collaborator

Hi as from documentation that you can find in the alfresco-js-api repository:

GitHub - Alfresco/alfresco-js-api: This project provides a JavaScript client API into the Alfresco R... 

you need to change the input parameters.

executeWebScript(httpMethod, scriptPath, scriptArgs, contextRoot, servicePath, postBody)

The first httpMethod as to be 'POST'

The last parameter the postBody.

So in your case for example:

this.alfrescoJsApi.core.webscriptApi.executeWebScript('POST', 'slingshot/datalists/data/node/workspace/SpacesStore/ce744915-6130-40b8-9c57-6b7c442f656f',null, null, nul, postBody )

Hi Guys,

The webscript api is marked as deprecated.  Can anyone comment on what should be used in its place if you want to call a custom webscript?

Regards

Brian

rashesh_ved
Confirmed Champ
Confirmed Champ
Also you can import AlfrescoApiService like follows
import { AlfrescoApiService } from '@alfresco/adf-core';

declare it in constructor like follows
constructor(private apiService: AlfrescoApiService)

and can call any post method as follows

this.apiService.getInstance().webScript.executeWebScript(
'POST',
'/variables',
null,
null,
'api/-default-/public/workflow/versions/1/tasks',
JSON.stringify(this.commentBody)
).then(
(response: any) => {}
);