2014-02-11 46 views
0

我打电话使用nlapiRequestURL方法NetSuite的另一台服务器端脚本suitelet(Web服务)。这个suitelet需要超过一分钟才能执行,导致nlapiRequestURL超时。增加nlapiRequestURL超时在NetSuite的SuiteScript

我找不到增加nlapiRequestURL超时的任何记录方式。我想知道是否有可能吗?

回答

0

我相信没有办法增加这个,因为这是本地限制。

您是否尝试过使用nlapiSetRedirectURL代替nlapiRequestURL?

+0

在超时时间,我已经在一个SSP应用程序,所以它不可能使用nlapiSetRedirectURL。 – azeem

0

我会先看看你的suitelet的设计,以确保您高效地使用API​​。加载记录尤其占用大量资源,非常耗时。在许多情况下,最好使用nlapiLookupField检索信息,或者如果有很多记录,则可以使用nlapiSearchRecord一次检索多条记录上的数据。

不过,他这样说,你有没有考虑制作过程异步请求的数据进行组装始发呼叫,并从一个会话变量或文件缓存中检索数据的第二个电话?第二次呼叫可以循环查看数据。每个对suitelet的调用都会独立执行,因此第二个回调将不会停止第一个请求。您可以参数化第二个请求来检查会话变量缓存。如果它是空白的,则返回未准备好的消息。如果数据可用,请擦除缓存并返回数据。

另一种方法,将是suitelet A调用suitelet B和该准备的数据的请求。完成后,suitelet B将数据发送给处理它的suitelet A.当然,您同样可以让suitelet B使用suitelet A的代码作为库来处理没有回调的数据。但是,这可能不适用于所有用例。

你能告诉我更多关于用例吗?

+0

在我们的案例中,我们调用了suitelet来计算报价中所有项目的价格。在这个过程中需要评估许多业务规则。如果报价中有超过400个项目,则业务规则执行和价格计算会导致进程超时。 – azeem