`

liferay webservice 使用

 
阅读更多

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 Webservice 教程】:通过Liferay Webservice,开发者可以轻松地为Liferay Portal创建服务,使得远程系统能够与Liferay中的portlet进行交互。以下是一个详细的步骤指南,教你如何利用Liferay Service ...

    liferay门户调用webservice依赖jar包

    6. **API使用**:使用Liferay Portal客户端库时,开发者需要熟悉其提供的API,了解如何创建服务代理,如何执行调用,以及如何处理返回的结果。通常,这些API会封装HTTP请求和响应,提供更友好的编程模型。 7. **...

    Liferay开发文档整理.pdf

    Liferay支持通过Web服务(WebService)接口来发布和管理内容。此外,文档提到了Liferay Web Proxy Portlet,该Portlet可以用来在Liferay门户中嵌入其他网站或应用。 ### Liferay Web服务器和环境配置 文档中提到了...

    liferay单点登录等

    标题和描述概述的知识点主要集中在Liferay的单点登录(Single Sign-On,SSO)、WebService、JSON API以及系统集成方面。下面将详细展开这些知识点,包括它们的基本概念、实现方式和应用场景。 ### 单点登录(SSO)...

    lfieray-webservice-调用

    在Liferay Portal中,Web服务的使用是一个关键功能,它允许开发者通过远程接口与平台进行交互。本篇文章将深入探讨如何在Liferay中调用Web服务,并解释相关的配置和安全设置。 首先,当你启动Liferay门户后,在本地...

    web service client

    在本场景中,我们关注的是使用Liferay的Web Service Client来通过Java程序添加用户,并在Liferay门户页面上展示这些用户。Liferay是一个开源的企业级内容管理和数字体验平台,它提供了丰富的API和Web服务接口供...

    LiferayPortal二次开发指南

    Portlet是Liferay Portal的核心组件,通过使用Liferay Plugins SDK可以创建Javaportlet或JSR-286portlet。开发过程中,需要编写portlet的MVC控制器,实现视图展示和业务逻辑处理。同时,可以使用Freemarker或JSP作为...

    ACTIVITI 实战

    基础篇(3~4章)首先讲解了Activiti Modeler、Activiti Designer两种流程设计工具的详细使用,然后详细讲解了BPMN2.0规范;实战篇(5~14章)系统讲解了Activiti的用法、技巧和最佳实践,包含流程定义、流程实例、...

Global site tag (gtag.js) - Google Analytics