Liferay Portal 6.2 CE 如何提供Webservice

Liferay Portal 6.2 CE 如何提供Webservice

–供其它應用程序調用 、修改原始接口、新建接口調用原接口方法

背景:實現公告接口,其它手機端或應用端調用該接口顯示Portal上的公告信息。

實現方法:

  1. 通過參考資料【1】新建portlet, 然後創建Service Builder 在剛纔的Portlet上。
  2. 創建完成後,【ant - build Services】這時會創建相應的package.
  3. 我們只需要修改相應的XXXServiceImpl.java,添加相應的方法。下面是例子,此處調用公告相應的接口,原始方法有權限驗證,我們可以在方法中加入:@AccessControlled(guestAccessEnabled=true)
    允許guest訪問。
  4. 改完XXXServiceImpl.java【ant - build Services】編譯即可。
  5. 重新打包部署。
@AccessControlled(guestAccessEnabled=true) //Guest訪問權限
    public List<AnnouncementsEntry> getEntity(long companyId, String screenName ){
        //跟據參數取當前用戶信息
        List<AnnouncementsEntry> results = null;
        try {
            User user = UserUtil.fetchByC_SN(companyId, screenName);
            LinkedHashMap<Long, long[]> scopes = AnnouncementsUtil.getAnnouncementScopes(user.getUserId());
            int total = 0;  
            int flagValue = AnnouncementsFlagConstants.NOT_HIDDEN;
            results = AnnouncementsEntryLocalServiceUtil.getEntries(user.getUserId(), scopes, false, flagValue, 0, 1000);       
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return results;
    }

訪問方法:

  1. http://localhost:8080/api/jsonws 顯示所有的接口,注意選擇相應的Portlet.
  2. 選中後,輸入相應的參數,調用即可,也可以在POSTMAN中調用。

參考資料:

【1】Liferay 6.1開發學習(四):Service Builder
【2】CREATING REMOTE SERVICES WITH SERVICE BUILDER

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章