2015-10-04 79 views
0

我已经在我身边露出的Web服务,我能得到它调用时有人打URL像呼叫控制器时,第三方客户端调用我的web服务

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

-u测试@ liferay.com:test \ -d行动=“”

这里verifyService(串动作)是我在类中的方法现在,当有人打这个服务,卷曲,我只是把卷曲的例子。 您也可以拨打这个服务像下面为好,

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

现在这个服务由第三方客户端,我想达到什么样的打击是,当有人呼叫此Web服务,我想用这个参数来更新我的JSP或想打电话给我的控制器。 我正在使用MVC模式,所以它像我必须从我的Web服务类的方法(verifyService)调用我的控制器类。

回答

1

如果在你的情况下“控制器”的意思是“Portlet”(Liferay上下文暗示了这一点),我会说你的架构错了。将需要调用的代码移动到服务中,调用它就很自然。使用可重用代码使portlet以及服务调用相同的服务。

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

要回答你对这篇文章的第一评论,我不确定你的意思是什么“CMS端点”。 Liferay的API可用,由于历史原因,CMS接口的名称以“Journal”开头,因此您可以通过委托给JournalArticleService等实际创建或阅读您自己的服务中的文章。这使您可以访问内容端,还有一个很多不同的API用于更改/创建页面,向页面添加内容等 - 无需通过portlet。 Liferay的所有功能都可以通过API获得。您需要多少以及哪一个可能太多以至于无法在单个计算器答案中回答 - 有关访问Liferay API的一些章节,请查阅https://dev.liferay.com。此外,一个好的起点是this blog article (series)

+0

是的olaf我知道,但第三方希望CMS终端上liferay,以便他们可以推送我们的服务器上的数据。我现在必须公开我的服务它正在调用我的服务如何更新服务调用中的UI层!!我们是否预先定义了liferay中的CMS终结点? –

+0

ohhh我得到了你的答案......谢谢 –

+0

在他们的上下文CMS网址就像接受某些命令,如发布,验证等,并作为回报liferay提供了JSON响应成功或失败,当工作完成。最后的问题,我们可以有任何Liferay的内容管理系统? –

相关问题