`
wangcheng
  • 浏览: 1466989 次
  • 性别: Icon_minigender_1
  • 来自: 青岛人在北京
社区版块
存档分类
最新评论

Flex3与EJB3的WebService通讯

阅读更多

项目中使用了Flex3 + EJB3 + WebService的方案,这里做了个小例子,总结一下。

此例的业务很简单,就是一个部门职员系统。

在EJB3中写WebService是很简单的,只要几个annotation而已,如下

 

@Stateless 
@javax.jws.WebService(name = "HumanResourcesWS",
	serviceName = "HumanResourcesService",
	portName = "HumanResourcesPort")
@WebContext(contextRoot = Constants.CONTEXT_ROOT, urlPattern = "/HumanResources")
public class HumanResourcesServiceBean implements HumanResourcesService {

	@WebMethod
	public boolean saveEmployee(EmployeeBean employee) {
		System.out.println(employee);
		return true;
	}
	
	@WebMethod
	public List<EmployeeBean> findEmployee(int departmentId, String position) {
		System.out.println("departmentId : " + departmentId);
		System.out.println("position : " + position);
		
		List<EmployeeBean> list = new ArrayList<EmployeeBean>();
		list.add(MockDAO.generateRonny(departmentId));
		list.add(MockDAO.generateRichard(departmentId));
		
		return list;
	}
	
	@WebMethod
	public DepartmentBean getDepartment(int departmentId) {
		System.out.println("departmentId : " + departmentId);
		return MockDAO.generateJavaDepartment();
	}
}

 

@WebContext(contextRoot = Constants.CONTEXT_ROOT, urlPattern = "/HumanResources") 注解将决定WSDL的地址

 

这方面相关的资料很多,这里就不多说了

 

Flex方面,首先写了一个BaseService父类,继承了mx.rpc.soap.WebService

 

调用WebService前要赋值 webService.wsdl = WebService的WSDL地址,然后webService.loadWSDL();

 

调用服务端WebService方法,有2中方式推荐

1. 使用AbstractOperation

var op : AbstractOperation = webService.getOperation( WebService Method Name );
op.addEventListener(ResultEvent.RESULT, 回调函数);
op.send(多个参数用逗号隔开);

2. 直接使用动态命名

webService.WebSerivceMethodName.addEventListener(ResultEvent.RESULT, 回调函数);
webService.WebSerivceMethodName(多个参数用逗号隔开);

 

在回调函数中使用event.result as Object;取得返回结果

 

我将这个例子打包成.ear文件,下载后放到jboss-4.2.3.GA\server\default\deploy目录中,然后启动JBoss


访问 http://localhost:8080/onecompanyweb/flex/onecompanyflex.html 即可看到效果

.ear文件包含java和flex的源代码,想研究的可以仔细看看

分享到:
评论
1 楼 ttapad 2010-11-28  
感谢,网上找了很久这样的例子了```` 

相关推荐

    flex+EJB3.0(GDS通讯)

    5. **数据绑定与服务调用**:通过Flex的RemoteObject或WebService组件,绑定到AMF通道上的EJB3.0服务方法,实现前后端数据的同步。 通过以上步骤,我们可以构建一个高效的Flex客户端和EJB3.0后端服务之间的通信架构...

    flex webservice

    5. **Web服务框架**:在Flex应用中,常用的服务框架有Adobe LiveCycle Data Services(LCDS)、BlazeDS等,它们提供了与Java后端服务集成的能力,包括Web服务、EJB、JMS等。 6. **XFire**:XFire是Java平台上一个...

    J2ee整合flex3项目

    总之,J2EE与Flex3的整合为开发人员提供了强大的工具集,既能利用Java的强大后端能力,又能借助Flex创建出极具吸引力的前端展示。这种结合使得企业级应用能够提供卓越的用户体验,同时保持高效的后台处理。通过深入...

    javaEE 与flex

    5. ** 使用AMF通信 **:在Flex客户端,通过HTTPService或WebService组件调用Java后端服务,利用AMF协议进行数据交换。 6. ** 测试与调试 **:部署Flex应用到JavaEE服务器,测试客户端与服务器之间的通信,确保功能...

    felxJ2ee实例+整合Flex和J2ee--配置(带图)绝对完整

    本文将深入探讨“Flex+Java实例+整合Flex和J2EE--配置(带图)绝对完整”这一主题,旨在帮助开发者理解如何在实际项目中实现Flex与Java后端的有效通信。 Flex是一种基于ActionScript和MXML的开源框架,主要用于构建...

    Flex超炫相册

    - HTTPService或WebService调用:Flex客户端通过这些技术与Java后台进行通信,如上传照片、获取相册列表等。 - BinarySocket或AMF通信:如果采用BlazeDS或LiveCycle Data Services,可能会使用二进制协议提高数据...

    flex+java 类

    3. **Java Web服务**:Flex可以调用Java Web服务(如SOAP或RESTful服务),使得Flex前端能够利用Java后端的业务逻辑和数据存储功能。使用Flex的WebService或HTTPService组件可以轻松实现这一过程。 4. **数据模型与...

    整合flex 和java

    在IT行业中,Flex和Java的整合是构建富互联网应用程序(RIA)的一种常见方式,它将Flex的用户界面优势与Java的后端处理能力相结合。Flex是一种用于创建动态、交互式Web应用的开源框架,主要基于ActionScript编程语言...

    flex 与 java

    Flex与Java的集成是开发富互联网应用程序(RIA)时常用的一种技术组合,它结合了Flash的动态用户界面展示能力和Java的稳定后端服务处理能力。本文将深入探讨如何有效地将这两种技术结合,以构建高性能、交互性强的...

    flex 3.0 sample

    2. **LCDS服务配置**:学习如何在LCDS中设置服务,包括AMF(Action Message Format)通道,以便与Flex客户端进行数据交换,以及配置HTTP、WebService和EJB等连接。 3. **数据访问对象(DAO)与Hibernate**:...

    Flex整合J2EE开发小记+源码下载

    3. **服务代理**:在Flex应用中,你需要创建服务代理类来调用后端Java服务,这通常使用Flex的WebService、RemotingDestination等组件完成。 4. **MXML和ActionScript**:MXML用于定义Flex界面布局,而ActionScript...

    flex教程

    ### Flex与J2EE集成教程 #### Java与Flex概念及技术架构 在深入探讨Flex如何与J2EE集成之前,我们需要先了解Java和Flex的基本概念和技术架构。 **Java技术架构**: - J2EE(Java 2 Platform, Enterprise Edition...

    Flex之BlazeDS文档

    Flex和AIR程序使用Flex组件与BlazeDS服务器进行通信,包括RemoteObject、HTTPService、WebService、Producer和Consumer等组件。这些组件都是Flex SDK的一部分。除了Flex或AIR之外,也可以结合使用HTML和JavaScript...

    Flex + LCDS + J2EE 传值交互实例

    3. J2EE(Java Platform, Enterprise Edition):这是一个用于开发和部署企业级应用程序的开放标准平台,包括Java Servlets、JavaServer Pages (JSP)、JavaBeans等组件,以及Enterprise JavaBeans (EJB)。...

    Flex和java ee集成开发

    Flex与Java EE集成开发是构建富互联网应用程序(RIA)的一种常见技术组合,它结合了Adobe Flex的用户界面优势和Java EE的后端服务处理能力。本研究成果深入探讨了如何将这两种技术有效地融合在一起,以创建高效、...

    RIA Flex and J2EE - DLowe.pdf

    ### RIA Flex and J2EE:深入探究与整合策略 #### 引言 随着Web 2.0时代的到来,富互联网应用(Rich Internet Applications, RIA)成为了提升用户体验的重要手段。Adobe的Flex技术作为构建RIA的热门选择之一,其与...

    Flex 连接后台Java的几种方法选择

    使用 Webservice,Flex 应用程序可以与 Java 后台进行交互。这种方法的优点是提供了一个标准的接口,易于使用和维护。然而,缺点是效率较低,且对服务器的要求较高。 Blazeds Blazeds 是 Adobe 在 2008 年初推出的...

    Flex、Spring、Hibernate 集成

    - 此外,**Spring** 还提供了事务管理、DAO支持、与各种O/R Mapping框架的集成等功能,以及对J2EE组件技术的支持,例如JavaMail、EJB、JMS和WebService等。 ### 3. Hibernate 框架 - **Hibernate** 是一个成熟的全...

Global site tag (gtag.js) - Google Analytics