关于服务端的发布很简单,按照官网上介绍的,将blazeds.war下下来后,按照示例建一个blazeds的web project
下面是我project目录的截图
其中可能需要改动的就是remoting-config.xml和web.xml两个文件,其他配置文件默认不需要改动
我的remoting-config.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
<destination id="helloWorld">
<properties>
<source>svr.HelloWorld</source>
</properties>
</destination>
<destination id="bdserver">
<properties>
<source>svr.BDServer</source>
</properties>
</destination>
</service>
我的web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>BlazeDS</display-name>
<description>BlazeDS Application</description>
<!-- Http Flex Session attribute and binding listener support -->
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<!-- MessageBroker Servlet -->
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>
flex.messaging.MessageBrokerServlet
</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>servlets.InitServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- RDSDispatchServlet相关配置 默认是注释掉的,如果需要Flash Builder通过data/service服务能连接的话,这边需要去掉注释 -->
<servlet>
<servlet-name>RDSDispatchServlet</servlet-name>
<display-name>RDSDispatchServlet</display-name>
<servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
<init-param>
<param-name>useAppserverSecurity</param-name>
<param-value>false</param-value><!-- 此处默认值是true,通过Flash Builder来生成相关服务时,需改为false,即不同相关用户名、密码来验证 -->
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping id="RDS_DISPATCH_MAPPING">
<servlet-name>RDSDispatchServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>
<!-- 以上是RDSDispatchServlet相关配置 -->
<servlet-mapping>
<servlet-name>MessageBrokerServlet</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<!-- 1111 for WebSphere deployment, please uncomment -->
<!--
<resource-ref>
<description>Flex Messaging WorkManager</description>
<res-ref-name>wm/MessagingWorkManager</res-ref-name>
<res-type>com.ibm.websphere.asynchbeans.WorkManager</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
-->
</web-app>
至此发布,服务端就算ok了,
remoteobject:
主要代码如下:
<s:ChannelSet id="channelSet">
<s:AMFChannel id="amfchannel" url="http://192.168.6.19:8008/blazeds/messagebroker/amf"/>
</s:ChannelSet>
<s:RemoteObject id="ro" destination="bdserver"
channelSet="{channelSet}" result="onResult(event)" fault="onFault(event)">
</s:RemoteObject>
这样通过ro这个对象就可以直接调用其发布的方法了
连接blazeds生成相关代理文件:
此处需要注意的是如果你的客户端的项目的context root和服务端的webcontext不一致的话就不能生成,会报错,拿我的这个做个列子,我服务端的webcontext是blazeds,而现在客户端的项目webcontext是JNBus,这样会报错,如果你客户端的目录名和服务器的一致就没问题了,但如果不一致的话咋办呢?其实可以临时调整下这个flex project 的context root,改完生成服务代理之后再调整过来,就ok了,改的地方如下图, root url和context root的JNBus换成blazeds
生成之后会自动生成如下的东西:
这样代理文件就算生成好了,下面就看怎么用了,下面是主要代码:
<fx:Declarations>
<s:ChannelSet id="channelSet">
<s:AMFChannel id="amfchannel" url="http://192.168.6.19:8008/blazeds/messagebroker/amf"/>
</s:ChannelSet>
<s:CallResponder id="getCarCountResult" result="getCarCountResult_resultHandler(event)" />
</fx:Declarations>
private function init(): void {
this.bdServer = new Bdserver();
this.bdServer.channelSet = this.channelSet;
this.getCarCountResult.token = this.bdServer.getCarCount();
}
这样总算可以了
分享到:
相关推荐
《Flex+BlazeDS配置详解》 在现代Web开发中,富互联网应用程序(RIA)的交互性和用户体验成为了关键。Flex作为Adobe开发的RIA框架,以其强大的图形界面设计和丰富的交互功能受到广泛欢迎。而BlazeDS是Adobe提供的一...
5. **配置Remoting Destination**:在Blazeds配置文件(如services-config.xml)中,定义一个Remoting Destination,指定Java服务的完全限定类名,以便Flex客户端可以通过AMF调用。 6. **在Flex客户端调用Java服务*...
**一、Blazeds配置步骤** 1. **下载与安装**: 首先,你需要从Adobe官方网站或者第三方资源下载Blazeds的安装包。解压后,你会得到一个包含多个文件夹和文件的结构。 2. **集成到IDE**: 将Blazeds的库文件添加到你...
BlazeDS配置文件是其核心组成部分,用于定义和管理与Flex客户端通信的各种设置。以下是BlazeDS配置文件的主要知识点: 1. **web.xml配置文件** - `web.xml`是标准的Java Web应用部署描述符,Tomcat或Websphere等...
【MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载】是一个关于集成开发环境MyEclipse 8.5与Adobe的BlazeDS集成使用的教程资源包,包含了配置文档和示例代码,以及BlazeDS的下载链接。这个资源对于开发者来说是...
以上就是BlazeDS配置的基本步骤,通过这个过程,你可以实现Flex或AIR应用与Java后台的无缝集成,创建具有实时交互功能的RIA。虽然日文中提到的部分可能对非日语读者来说不太友好,但主要的配置步骤和概念都是通用的...
本文将深入讲解如何进行简单的BlazeDS配置,以帮助开发者搭建起Flex客户端和Java后端之间的桥梁。 首先,我们需要准备的工具有:Adobe Flex SDK、Java Development Kit (JDK)、Tomcat服务器以及BlazeDS库。BlazeDS...
【MyEclipse_8.5+flex_4+Blazeds配置】的教程涉及到一系列集成开发环境和服务器的安装与配置过程,以下是详细步骤和相关知识点: 1. **JDK安装与配置**: - JDK (Java Development Kit) 是开发Java应用程序的基础...
BlazeDS配置详解及Flex+JAVA开发环境搭建 BlazeDS是一款由Adobe开源的服务器端Java技术,主要用于实现Flex应用程序与Java后端服务之间的通信。BlazeDS的核心功能在于提供远程调用服务和Web消息传递,它通过AMF...
5. **Blazeds配置**:在J2EE服务器中部署Blazeds的war文件,然后配置应用的web.xml,添加Blazeds的Servlet映射。 6. **定义数据通道**:在Flex项目中,通过Blazeds的Remoting配置,定义到Java后端的服务通道,这...
### BlazeDS配置与安装详解 BlazeDS是Adobe推出的一款用于在Adobe Flash、Flex和AIR应用之间进行数据传输和远程调用的服务器端组件。它提供了实时数据推送、消息传递和远程服务调用等功能,使得客户端能够高效地与...
Flex + J2EE + BlazeDS 配置是一个用于构建富互联网应用程序(RIA)的技术组合,它将客户端的Flex界面与服务器端的Java EE服务紧密结合。本文将详细介绍如何配置这一技术栈,帮助开发者快速上手。 首先,我们需要...
提供的"MyEclipse9+flex4.6+Blazeds配置.docx"文档可能是关于在MyEclipse9(而非2013版本)上配置Flex4.6和Blazeds的步骤指南,尽管版本不同,但基本配置流程和概念应该相似。而"flexweb.zip"可能是一个包含Flex应用...