Liferay是基于SOA理念设计的,很容易通过Web Services对外提供服务接口,下面简单介绍一下。
Liferay如何对外提供服务?
1、在service.xml中编辑,增加一个<entity name="xx" local-service="false" remote-service="true" />
2、ant build-service-xxxx (portal-impl/build.xml)
3、修改XXServiceImpl, 写入你要对外提供的方法逻辑;
4、ant build-service-xxxx (重复2)
5、ant build-wsdd-xxxx in portal-impl/build.xml
6、ant clean deploy in portal-impl/build.xml
这样你就成功发布以了一个服务,在tunnel-web/doc-root/WEB-INF/server-config.wsdd 中查找是否发布成功
如何调用Liferay发布的服务?smilingleo原创
1、新建一个项目(或者打开你要调用服务的项目)
2、将Apache AXIS的所有lib文件拷贝到<your-webapp>/WEB-INF/lib下面;
3、将portal-client.jar拷贝到上述目录,如果没有,在portal-client/build.xml中ant build-client(注意,这时,服务器要在开启状态,而且上面编写的服务已经成功deploy到服务器)
4、编写代码,例如;
import java.net.URL;
import com.company.portal.service.http.MyUserServiceSoap;
import com.company.portal.service.http.MyUserServiceSoapServiceLocator;
public class LiferayClient ...{
public static void main(String [] args) ...{
long userId = 54321L;
long companyId = 12345L;
String email = "me@company.com";
String password = "notTellingYou";
try ...{
MyUserServiceSoapServiceLocator locator = new MyUserServiceSoapServiceLocator();
MyUserServiceSoap soap = locator.getPortal_MyUserService(_getURL(Long.toString(userId), "Portal_MyUserService"));
int isAuthenticated = soap.authenticateByEmailAddress(companyId, email, password);
System.out.println("is user authenticated? " + isAuthenticated);
} catch (Exception e) ...{
System.err.println(e.toString());
}
}
private static URL _getURL(String remoteUser, String serviceName) throws Exception ...{
String password = "secret";
url = "http://" + remoteUser + ":" + password + "@localhost:8080/tunnel-web/secure/axis/" + serviceName;
return new URL(url);
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/smilingleo/archive/2008/01/03/2017832.aspx
分享到:
相关推荐
在Liferay中,调用Web服务(如SOAP或RESTful Web Services)是通过依赖于特定版本的JAR包来实现的。这些JAR包包含了必要的API和工具,使得Liferay能够与外部系统进行通信,例如数据交换、业务集成等。 在这个场景中...
这意味着我们将为这个实体创建远程服务接口,使其可以通过webservice调用。 4. **实现Local Service**: 接下来,在`BookLocalServiceImpl.java`中添加`addBook`方法,该方法创建一个新的`Book`对象并保存其信息。...
Liferay.Service是用于在客户端JavaScript中调用服务器端JSON Web服务的API。以下是一些关键知识点: - **获取用户**:在1.1中,我们看到如何通过电子邮件地址获取用户。首先,指定服务路径`'/user/get-user-by-...
通过调用`AuthTokenUtil.createAuthToken`生成令牌,然后使用`LoginUtil.login`进行实际的登录操作。 5. **错误处理和重定向** 如果登录失败,你需要捕获并处理异常,向用户返回适当的错误消息。登录成功后,通常...
在Liferay中,跨页面Portlet之间的调用与数据传递是一项关键任务,因为这涉及到不同Portlet间的协作和信息共享。Liferay提供了多种通信机制,包括PortletSession、Public Render Parameters以及Portlet事件,但这些...
在部署Liferay Portal时,与Oracle数据库的集成是关键步骤。以下是对配置过程的详细解释: 1. **数据库配置修改**: - 首先,你需要在`portal-impl\src\portal.properties`文件中,取消Hypersonic数据库连接的注释...
Liferay Portal Liferay IDE
Liferay是一款开源的企业级门户平台,它提供了丰富的功能和高度可定制性,广泛应用于构建企业网站、内部系统、协作平台等。在这个“liferay详细讲解 liferay项目完全讲解”的资料包中,我们可以期待深入了解到关于...
Liferay支持通过Web服务(WebService)接口来发布和管理内容。此外,文档提到了Liferay Web Proxy Portlet,该Portlet可以用来在Liferay门户中嵌入其他网站或应用。 ### Liferay Web服务器和环境配置 文档中提到了...
标题 "Liferay扩展环境 Liferay Ext" 涉及到的是Liferay门户平台的一个关键概念,Liferay Ext是用于扩展和定制Liferay功能的核心工具。Liferay是一个开源的企业级内容管理平台,它允许用户根据需求构建自定义的数字...
Action类作为控制器接收请求,调用模型层处理业务,然后将结果传递给视图进行展示。 3. **整合过程**:Liferay与Struts的整合涉及到配置多个文件,包括Liferay的部署描述符(liferay-plugin.xml)、Struts的配置...
然而,随着JSON格式在Web服务中的广泛应用,Liferay开始重构其远程服务,引入了基于JSON的远程服务(JSONWS),使得开发者可以更加灵活地调用Liferay提供的各种服务。 ##### 2.2 2014年:Liferay Mobile SDK API ...
本篇文章将深入探讨如何在Liferay中调用Web服务,并解释相关的配置和安全设置。 首先,当你启动Liferay门户后,在本地机器上通过浏览器输入特定URL,可以查看到Web服务列表。这个URL通常是`...
### Liferay环境搭建详解 #### 一、简介 Liferay是一款功能强大的开源企业级门户平台,主要用于构建企业级Web应用程序和服务。本文档旨在详细介绍如何利用Eclipse集成开发环境(IDE)来搭建Liferay开发环境,并...
同时,通过实现Service钩子,开发者可以拦截服务调用,进行扩展和定制。 6. **工作流定制** Liferay内置了基于JBoss jBPM的工作流引擎,开发者可以创建自定义工作流程,定义审批流程和表单,用于内容审核、任务...
- 熟悉 Liferay 的服务架构,如何创建和调用服务,以及使用 Service Builder。 - 学习 Liferay 的安全模型,包括角色、权限和访问控制。 - 掌握 Liferay 社区和工作流的实现,如何创建用户组、社区、论坛等社交功能...
### Liferay快速入门知识点详解 #### 一、Liferay Portal简介与快速启动 Liferay Portal是一款功能强大且灵活的企业级门户平台,它基于Java技术,遵循JSR-168标准,提供了丰富的特性来满足企业内外部网站的需求。...
`test-portlet`可以通过调用Liferay的JS API向其他portlet发送请求,获取数据或触发特定行为。 5. **布局上下文(Layout Context)**:布局上下文是一种在当前布局内的portlet间传递数据的方式。`test-portlet`可以...
【Liferay 6 入门教程】 Liferay是一款开源的企业级门户平台,广泛用于构建企业网站、社交网络和协作工具。Liferay 6是其一个重要的版本,提供了丰富的功能和改进,包括更好的用户体验、增强的社区参与度以及更强大...
3. **渲染响应**:`processAction`执行完毕后,Liferay会自动调用`render`方法,再次渲染portlet的内容。此时,`render`方法可以访问在`processAction`中设置的渲染参数,从而根据用户的操作更新视图。在示例中,`...