Lotus Quickr提供REST API访问其中的数据,这里我通过一个例子来说明如何通过REST API创建一个Portlet显示我的空间列表。
这里面我主要使用了两个apache包,httpclient和abdera。
REST API是一个http的请求,当用户访问的时候可以通过 http get的方法获得一个XML。因此这里我通过httpclient获得这个XML,然后采用abdera对这个XML进行解析。
//获取当前空间列表
<% List places = new PlacesHelper().getPlaces(request.getCookies()); %>
<table width="100%" border="1" cellspacing="2">
<tr>
<th scope="col">我的空间</th>
<th scope="col">管理员</th>
<th scope="col">最近更新时间</th>
</tr>
<%for(int i=0;i<places.size();i++){ %>
<tr>
<td><a href=<%=((Entry)places.get(i)).getAlternateLink().getResolvedHref() %>><%=((Entry)places.get(i)).getTitle() %></a></td>
<td><%=((Entry)places.get(i)).getAuthor().getName() %></td>
<td><%=DateFormat.getDateTimeInstance().format(((Entry)places.get(i)).getUpdated()) %></td>
</tr>
<%} %>
</table>
Helper类,用来访问REST 内容
public class PlacesHelper {
public List<Entry> getPlaces(Cookie[] cookies)
{
//通过httpclient get方法访问REST api
HttpClient httpClient = new HttpClient();
httpClient.getParams().setContentCharset("UTF-8");
HttpMethod httpMethod = new GetMethod("http://ibmquickr.ibm.com/myqcs/rest/places/feed");
//初始化http请求,使httpclient使用当前request的cookie。
HttpState initState = new HttpState();
for(int i=0;i<cookies.length;i++)
{
org.apache.commons.httpclient.Cookie cookie = new org.apache.commons.httpclient.Cookie();
cookie.setDomain(cookies[i].getDomain());
cookie.setPath(cookies[i].getPath());
cookie.setName(cookies[i].getName());
cookie.setValue(cookies[i].getValue());
initState.addCookie(cookie);
}
httpClient.setState(initState);
try {
int statusCode = httpClient.executeMethod(httpMethod);
if(HttpStatus.SC_OK == statusCode)
{
InputStream in = httpMethod.getResponseBodyAsStream();
//解析返回的XML
Parser parser = Abdera.getNewParser();
Document<Feed> doc = parser.parse(in);
Feed feed = (Feed) doc.getRoot();
httpMethod.releaseConnection();
//返回空间列表
return feed.getEntries();
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
httpMethod.releaseConnection();
return null;
}
}
Portlet主类
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType(request.getResponseContentType());
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/jsps/index.jsp");
rd.include(request,response);
}
需要注意的是,从apache下载下来的abdera包包含httpclient以及servlet-api-2.5-6.1.5.jar包,servlet包与Websphere Portal自带的包有重复,因此无需将servlet包,拷贝到lib目录下。
验证平台:
WebSphere Portal 615
Lotus Quickr for Domino 8.2
httpclient 3.1
abdera 0.4.0
分享到:
相关推荐
Quickr通常指的是IBM Lotus Quickr,它是一个协作平台,允许用户共享文档、日程和任务。REST API使得开发者可以通过HTTP协议与其进行集成。 启用SSL是为了确保数据在互联网上传输时的隐私和完整性,防止中间人攻击...
IBM Lotus Quickr是新一代协作产品,改演示为该产品的演示
总的来说,Lotus Quickr 的文档管理功能集成了先进的 Web 2.0 技术和开放标准,为企业提供了一个灵活、安全、高效的文档管理和协作平台。无论是文档的日常操作,还是高级的定制需求,都能得到充分满足,从而提升了...
Lotus Quickr 支持 SOAP 和 REST 标准,使得开发者可以通过 Web 服务接口轻松地与 Lotus Quickr 进行交互。 - **服务定义 (Service Definitions)** - **概述**:介绍如何定义和使用服务接口。 - **认证 ...
Lotus Quickr结合了讨论区、文档库、日历、任务和博客等功能,为用户提供了一个集中的工作空间,便于团队成员协同工作。它支持多种文件格式,包括Microsoft Office文档,使得跨平台协作变得简单。 2. **源码**: ...
Lotus Quickr是一款强大的协作工具,主要用于团队协作、文档管理和知识共享。在企业环境中,确保其配置的安全性至关重要,因为这直接影响到数据的保护和用户隐私。本篇文章将深入探讨Lotus Quickr的安全配置,帮助...
Lotus Quickr与IBM WebSphere Portal的单点登录(SSO,Single Sign-On)是一种集成解决方案,允许用户在访问一个系统(如Portal)后,无需再次输入凭证即可访问其他相互关联的系统(在这种情况下是Quickr)。...
Terrance成功创建了一个Web SSO配置文档,以将他的Lotus Domino域与正在运行Lotus Quickr的WebSphere Application Server进行集成。然而,在将该文档复制到该域中的所有其他Lotus Domino服务器后,他仍然无法成功地...
【IBM Portal 集成Quickr】是一种技术实践,它允许用户通过IBM Portal无缝访问Quickr(一个协作和文档管理工具)的服务,实现单点登录(Single Sign-On, SSO)。这种集成使得用户在一个平台上就能方便地管理和共享...
Quickr系统是由天阳宏业开发的一款协同工作平台,它整合了文档管理、任务分配、沟通交流等多种功能,为团队提供了一个统一的工作空间。系统的核心目标是简化日常工作流程,提高团队间的协作效率,以及确保信息的...
Price Waterhouse成为了Notes的第一个大客户,预示着它将在商业领域产生深远影响。 1989年,Lotus Notes 1.0正式发布,运行在DOS 3.1或OS/2操作系统上。这个版本包含了诸多创新特性,如RSA公钥加密技术,用于保证...
【Lotus Quickr简介】 ...总的来说,Lotus Quickr是一款旨在提高团队效率、简化协作流程、强化信息管理的解决方案,它通过消除传统协作工具的痛点,帮助企业更有效地利用信息资源,实现快速应变,提升竞争力。
1. **创建工作空间**:按照Quickr的标准流程,创建一个新的工作空间。 2. **添加页面和组件**:根据需求向工作空间中添加所需的页面和组件。 3. **编辑和配置**:对各个页面和组件进行必要的编辑和配置,确保它们...
【Quickr与Portal单点登陆】是指在一个统一的登录环境下,用户只需登录一次,即可访问Quickr和Portal两个系统,无需分别输入凭证。这提高了用户体验,增强了安全性,并简化了身份验证流程。 首先,实现Quickr与...
Lotus Quickr则是文档管理和协作工具,允许团队成员共享文件、创建在线会议和协作空间。 随着云计算和移动设备的普及,IBM也推出了LotusLive和Lotus Notes Traveler来适应这些变化。LotusLive是云协作服务,提供...
Lotus企业应用解决方案是一款基于IBM Lotus软件平台的企业级应用系统,旨在帮助企业...通过集成的 Lotus Notes、Domino、Connections、Quickr、Sametime等组件,企业能够构建一个安全、高效且富有协作精神的工作环境。
### Quickr部署系列知识点 #### 一、QuickrDomino系统概述 在“Quickr部署系列”中,首先介绍的是QuickrDomino系统的概述部分。这部分涵盖了QuickrDomino所支持的操作系统、与第三方产品的集成及兼容性以及安装...