1.自定义实体向外提供webservice接口的步骤
在下面这个例子中我们将在数据库中创建一张表并提供一个通过webservice修改表的方法
1.1表结构简单定义为:
CREATE TABLE [dbo].[MyBook]( [bookid] [bigint] NOT NULL, [bookname] [varchar](500) NULL, CONSTRAINT [PK_MyBook] PRIMARY KEY CLUSTERED ( [bookid] ASC )
1.2 在\service.xml中
<?xml version="1.0"?> <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 5.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_5_2_0.dtd"> <service-builder package-path="com.ext.portlet.mybook"> <namespace>MyBook</namespace> <entity name="MyBook" local-service="true" remote-service="true"> <column name="bookid" type="long" primary="true" /> <column name="bookname" type="String" /> </entity> <exceptions> <exception>BookEntryName</exception> </exceptions> </service-builder>
1.3 执行 ant build-service
Open the generated file MyBookServiceImpl.java. if your entity name is ‘MyEntity’ in service.xml the generated class name will MyEntityServiceImpl.java
1.4 打开自动生成 MyBookServiceImpl.java (当然你的entity名是MyEntity,这里生成的类名就是MyEntityServiceImpl.java )
public MyBook addBook(String bookName) throws PortalException, SystemException { MyBook mybook = null; long bookId = CounterLocalServiceUtil.increment(MyBook.class.getName()); mybook = MyBookUtil.create(bookId); mybook.setBookname(bookName); return MyBookUtil.update(mybook, false); }
1.5 执行 ant build-wsdd 将会生成webservice层的代码
2 liferay webservice的调用
2.1在liferay环境中 启用webservice
liferay中使用的是 Apache Axis 生成的 webservice,这个默认的配置在 /portal/tunnel-web/ docroot/WEB-INF文件夹中的server-config.wsdd。在浏览器中 使用 http://127.0.0.1:8080/ tunnel-web/axis就可以看到SOAP services的列表。
要远程连接service,这个域名或ip必须被允许,而这个就需要在 portal-ext. properties文件中配置:
axis.servlet.hosts.allowed=127.0.0.1,SERVER_IP axis.servlet.https.required=false
这段代码显示能够连接到Axis servlet 的ip地址,你也可以设置为 空 ,允许所有的ip
2.2使用 webservice 的简单例子
2.2.1 保证http://127.0.0.1:8080/tunnel-web/axis 能查看到service列表
2.2.2 连接wsdl , 点击任何service的wsdl 这里使用User Service wsdl 为例( http://127.0.0.1:8080/tunnel-web/axis/Portal_UserService?wsdl)
2.2.3 使用eclipse或netbeans 可以根据Wsdl生成调用 代码
2.2.4 下面是一个调用例子
public class LiferayUserServiceClient { public static void main(String[] args) { try { UserServiceSoapServiceLocator locatorUser = new UserServiceSoapServiceLocator(); UserServiceSoap soapUser = locatorUser. getPortal_UserService("http://abc:abc@127.0.0.1:8080/tunnel-web/secure/axis/Portal_UserService"); UserSoap soapUserModel = soapUser.getUserById(10806); System.out.println(" getEmailAddress:" + soapUserModel.getEmailAddress()); } catch (Exception e) { e.printStackTrace(); } } }
主要参考:http://arvindm.com/2010/03/23/web-services-in-liferay/
转载请注明出处:http://nilm61.iteye.com/
相关推荐
liferay-webservice
这个版本会有变化。需要版本对应 如果版本不对,还需自己下载相对版本
liferay 学习 Liferay-使用手册.pdf
liferay portal 6文档,使用说明
liferay使用说明--管理,详细信息
liferay_使用struts2开发portlet
Liferay Portal Liferay IDE
liferay 6.2 开发指南+用户手册 官方文档
Liferay(二)结构介绍和使用_雨枫技术教程网
Liferay使用笔记 Liferay使用笔记 Liferay使用笔记
liferay_系列初始Ide_SDK入门教程,Eclipse的lifeRay配置使用
Liferay中的AUI框架,官方叫做Alloy,是一个UI超框架,能为浏览器的三方面,结构,风格和表现建立网络应用提供连续的简单的API。...AUI的很多语法结构、使用方法都都和YUI相关不太多。熟悉YUI的能够快速熟悉AUI。
liferay环境的配置,初步使用,二次开发大全
介绍Liferay企业门户,PPT章节: 概述 功能和使用 开发扩展 安全、认证 高可用 Demo
liferay 国际化 表格 container 控制面板 CLOB 发送邮件
liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南liferay portal 开发指南
打开Liferay IDE,Window-->Preferences-->Server-->Runtime Environment,点击右边Add…,在弹出的服务器选择里面选择Liferay,Inc-->Liferay v6.1 CE (Tomcat 7),请打“Create a new location server”打上勾。...
Liferay Themes[1].pdf Liferay+CMS系统培训.ppt Liferay+Portal+数据库介绍+.doc Liferay+权限管理.doc liferay-portal-5-2-systems-development-sample-chapter-5-managing-pages[1].pdf ...
liferay 超级学习文档 liferay 框架 java hibernate liferay 不用多说
Liferay 是一个完整的门户解决方案,基于J2EE的应用,使用了EJB以及JMS等技术,前台界面部分使用Struts MVC 框架,基于XML的portlet配置文件可以自由地动态扩展,使用了Web服务来支持一些远程信息的获取,使用 ...