Je tente d'appeler un service Web/URL RestLet à partir d'un autre SuiteScript. Si je comprends bien, je dois utiliser le module http/https pour le faire. Mais je ne suis pas en mesure de trouver un exemple ou des étapes pour le faire.Appel NetSuite RestLet de SuiteLet Client
planification pour utiliser ce code dans SS2.0-
var response = http.post({
url: 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=601&deploy=1',
body: myDataObj, // json object
headers: headerObj // json obj
});
Le code ci-dessous fonctionne pour moi.
var nameValue = "arin";
var myDataObj = {
"name" : nameValue
};
var myRequest = {};
myRequest.headers = {};
myRequest.headers["Authorization"] = 'NLAuth nlauth_account=TSTDRV158xxxx,nlauth_email=XXXX,nlauth_signature=XXXX,nlauth_role=3';
myRequest.headers["Content-Type"] = 'application/json';
myRequest.headers["Accept"] = '*/*';
myRequest.url = 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=601&deploy=1'; // RESTlet
// URL
myRequest.method = "POST";
myRequest.body = JSON.stringify(myDataObj);
// myRequest.body = myDataObj;
var myResponse = https.post(myRequest);
et la lecture des données de réponse pour le retour JSON ...
log.debug("Resonse", myResponse.body);
log.debug("Resonse", myResponse.code);
var data = myResponse.body;
var retObj = JSON.parse(data);
log.debug("Resonse Ret city - ", retObj.city);
Merci ... Fonctionne comme prévu ... Je suis en train de mettre à jour le code. – Arindam
Il y a un problème que j'ai trouvé en retournant les données ... Si le serveur retourne les données comme "JSON.stringify (retObj)" alors j'ai besoin d'analyser 2 fois côté client pour obtenir les données .... ' '' var data = JSON.parse (myResponse.body); \t \t \t \t \t \t \t \t var retObj = JSON.parse (données); Log.debug ("Resonse Ret data -", data.city) \t ; Log.debug ("Resonse Ret ret -", retObj.city); \t ; '' ' Première ville ne donne aucune valeur ... 2ème donne ... – Arindam
Quel est le problème? Vous obtenez déjà les données dont vous avez besoin. –