初めて Restlets を試していますが、データを返すのに問題があります。
基本的なレストレットを作成し、NetSuite にデプロイしました。コードは次のとおりです。
function getRESTlet(dataIn) {
return nlapiLoadRecord(dataIn.recordtype, dataIn.id); // e.g recordtype="customer", id="769"
}
Chromes の REST コンソール アプリケーションを使用して、次のように設定しました。
Request URI: https://rest.netsuite.com/app/site/hosting/restlet.nl?script=123&deploy=1&recordtype=customer&id=2409
Request Headers: NLAuth nlauth_account=123456,nlauth_email=email@emailaddy.com,nlauth_signature=password
操作として実行するとGET
、次のエラーが返されます。
error code: JS_EXCEPTION
error message:type
続いて以下のメール。
Date & Time: 8/19/2013 2:48 pm
Execution Time: 0.06s
Script Usage: 0
Script: getRecord
Type: RESTlet
Function: getRESTlet
Error: SSS_MISSING_REQD_ARGUMENT
type
Stack Trace: getRESTlet(getCustomer.js:14)
restletwrapper(null$lib:3)
顧客レコードが存在し、RestLet コードは NetSuite ヘルプ システムからのものであり、スクリプトが失敗するとエラー メールが表示されるので、展開 URL が適切であることがわかります。
私が間違っていることについてのアイデアはありますか?
- 編集 -
関数シグネチャを変更してfunction getRESTlet(type,dataIn)
型エラーを解決しますが、次のようになります。
error code: UNEXPECTED_ERROR
error message:TypeError: Cannot read property "recordtype" from undefined (getCustomer.js#14)
customer
また、id
からとを削除し、代わりに REST コンソールrequest URI
のセクションにリストしました。Request Payload
--編集2--
関数に追加nlapiLogExecution('DEBUG', 'JSON.stringify(datain) is:', JSON.stringify(datain));
すると、ログエントリに空白が返されます。datainがnullのようです....