我是第一次尝试 Restlets,但无法返回任何数据。
我已经构建了一个基本的 restlet 并将其部署在 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)
我还从REST 控制台部分中customer
删除了它们,而是将它们列出来。id
request URI
Request Payload
--编辑2--
添加nlapiLogExecution('DEBUG', 'JSON.stringify(datain) is:', JSON.stringify(datain));
到函数是为日志条目返回空白。看来 datain 为空....