如何从webscript调用外部restful Web服务(返回JSON数据)并在dashlet上显示数据?

时间:2013-02-06 09:35:19

标签: alfresco

JSON数据:

{"user":[{"address":"HYD0","id":"0","name":"XXXX0"},
         {"address":"HYD1","id":"1","name":"XXXXX1"},
         {"address":"HYD2","id":"2","name":"XXXXXX2"}]}

那么如何在webscript中调用restful webservice并在免费标记模板和dashlet上显示数据?

其余的Web服务放置在某处,现在我想从Web脚本调用它。

1 个答案:

答案 0 :(得分:1)

在Share中工作时,Surf提供了一种访问其他系统以获取数据的方法。这是通过remote对象完成的,如果您查看许多共享WebScripts,您会看到以下内容:

var connector = remote.connect("alfresco");
var result = connector.get("/api/foo/bar?thing=stuff");
if (result.status == status.STATUS_OK)
{
   return eval('(' + result.response + ')');
}

JavaScript中的remote对象由ScriptRemote对象提供。如果你浏览它的来源,你会看到它是如何工作的并且合在一起

最常见的用途是使用 alfresco 端点,该端点连接回Alfresco存储库层,因此您可以调用repo webscripts。一个选项是您可以通过spring配置将自己的端点定义为Share,然后您可以使用友好名称访问它。另一种方法是执行RSS Feed Utils所做的事情并请求http端点,然后提供完整的网址。

无论哪种方式,您都需要获取远程URL,检查您是否获得了有效的响应,评估它以获取数据,并将其存储在您的模型中。然后,这些数据将在FTL中提供,以便根据需要进行渲染。