繁体   English   中英

当第三方客户致电我的网络服务时致电控制器

[英]Call Controller when third party client call my web-service

我的网络服务暴露在我的身边,当有人点击该网址时,我可以调用它

curl http://localhost:8080/api/jsonws/XXXXX-Portlets.foo/verify-service \

-u test@liferay.com:test \\ -d操作=''

在这里,verifyService(String action)是我在类中的方法,当有人用curl击中该服务时,我仅以curl为例。 您也可以像下面这样调用此服务,

http://localhost:8080/api/jsonws/XXXXX-Portlets.foo/verify-service/action/{valueOfparameter}

现在,该服务受到第三方客户端的青睐,我想要实现的是当有人调用此Web服务时,我想用该参数更新jsp或要调用我的控制器。 我正在使用MVC模式,因此就像必须从Web服务类的方法(verifyService)调用控制器类一样。

如果在您的情况下“ Controller”的意思是“ Portlet”(Liferay上下文表明了这一点),我会说您的体系结构有问题。 将您需要调用的代码移动到服务上,这很自然。 使Portlet和服务使用您的可重用代码调用相同的服务。

考虑Portlet世界中应用程序的UI。 您不会从业务(或服务)层调用UI层代码-您将调用其UI,尤其是在潜在存在大量并发用户的Web服务器上。

要回答您对此信息的第一条评论,我不确定您对“ CMS端点”的含义。 Liferay的API可用,由于历史原因,CMS接口的名称以“ Journal”开头,因此您可以通过委托JournalArticleService等从您自己的服务中实际创建或阅读文章。这使您可以访问内容侧,还有一个用于更改/创建页面,向页面添加内容等的许多不同的API。-无需通过Portlet。 Liferay的所有功能都可以通过API获得。 在单个stackoverflow答案中,您需要多少资源以及可能太多了-请访问https://dev.liferay.com ,以获取有关访问Liferay API的某些章节。 另外, 此博客文章(系列)也是一个很好的起点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM