2015-10-04 54 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的內容管理系統? –

相關問題