壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1051|回复: 0

Liferay研究之十五:Liferay如何对外提供Service,以及如何调用

[复制链接]
发表于 2010/6/1 15:07:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Liferay是基于SOA理念设计的,很容易通过Web Services对外提供服务接口,下面简单介绍一下。
Liferay如何对外提供服务?
1、在service.xml中编辑,增加一个<entity name="xx" local-service="false" remote-service="true" />
2ant build-service-xxxx (portal-impl/build.xml)
3、修改XXServiceImpl, 写入你要对外提供的方法逻辑;
4ant build-service-xxxx (重复2
5ant build-wsdd-xxxx in portal-impl/build.xml
6ant 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.xmlant 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

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 15:27 , Processed in 0.011512 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表