本地服务只能由 Liferay 本身或 Liferay 应用程序(例如,由 Liferay portlet)调用。任何可以访问 Liferay 门户(例如,通过互联网)的应用程序都可以调用远程服务。
因此,例如,如果您想创建一个可以访问 Liferay 的 Bookmarks API 的桌面或移动应用程序,您需要调用 Bookmarks 远程服务:http://localhost:8080/api/jsonws?contextName=bookmarks
同样,如果您通过服务构建器创建自定义 Liferay 实体,并且您希望允许开发人员创建可以与您的实体交互的桌面或移动客户端(例如,对您的实体执行 CRUD 操作),那么您需要创建远程服务.
此外,Liferay 的最佳实践和惯例是不对本地服务添加权限检查,而仅对远程服务添加权限检查。即使您没有预料到任何非 Liferay 应用程序将需要访问您的服务,您仍然应该考虑创建远程服务,如果只是为了添加权限检查。(您的远程服务将包含权限检查代码,然后调用本地服务。这是 Liferay 中的常见模式。)
有关更多信息,请参阅https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/creating-remote-services。