0 0

java flex 通信3

大家好,现在接到一个任务要用flex做一个拓补图,双击节点与java通信实现动成的的拓补图。这个demo已经完成了,接下来的任务就是把这个功能放入到一个已经上线的j2ee项目里。按着我个人的理解做了如下操作(firstflex为demo项目,testjavaincludeflex为上线的j2ee项目)
1.将firstflex项目中flexbuilder生成的html,swf文件拷贝到testjavaincludeflex,在testjavaincludeflex根目录下建了一个flex文件夹

2.将firstflex项目中的flex的配置及jar拷贝testjavaincludeflex

3.更改testjavaincludeflex中web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<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-mapping>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <url-pattern>/messagebroker/*</url-pattern>
    </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

---------------------------------------------------------------------
完成以上步骤,我觉得可以访问相应的swf或html
http://localhost:8080/testjavaincludeflex/flex/birdeyeTest.html
报错:faultCode:Client.Error.MessageSend faultString:'Send failed' faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: 'http://localhost:8080/firstflex/messagebroker/amf''

很奇怪为什么会是去访问firstflex项目的是东西。。。。
就算我把testjavaincludeflex中services-config.xml配置文件里全改成以下方式还是不行
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>

        <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
            <endpoint url="https://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
            <properties>
                <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
        </channel-definition>

        <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amfpolling" class="flex.messaging.endpo


现在的我的问题,有人可以帮我解决这个问题,为什么会这样。或是讲解一下怎么一个flex集成j2ee生成的后的swf(与java有交互)文件集成到另一个j2ee项目中,谢谢

问题补充:首先非常感谢地狱牢笼的回答。
已经用另一种方式解决了,之前flex与java之间的通信是采用RemoteObject方式,我猜是services-config.xml配制后,编译生成的swf文件是个不改改变的请求地址,如果需求把此swf文件移植到另一个j2ee项目中必须要在生成swf的项目将services-config.xml的配制改为需要移植项目是的配制。。。不会表达。
反正我也没有去验证,后来我是改用httpserver的通信方式很好解决了上述问题。
2011年12月05日 14:06
  • 大小: 52 KB
  • 大小: 62.7 KB

3个答案 按时间排序 按投票排序

0 0

采纳的答案

补充一下
文件太多没细看
主要问题就是services-config.xml。也就是flex和java通信,要建立通道,这个通道编译时候要用到,编译时可以在编译参数里面配置,
运行时也要用到,要确保正确。
你可以这样去访问http://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amf
看能不能访问就知道这里有没有问题。

2011年12月05日 17:11
0 0

server.name和server.port改成你项目相关的


对与这个问题怎么一个flex集成j2ee生成的后的swf(与java有交互)文件集成到另一个j2ee项目中:
一般做法,就是直接用打包工具,直接打包,进去,如果你对ant,maven不是很熟悉可能有点痛苦。这样,flex代码不好调试,不会进断点。

还有一种就是,j2ee项目不是要部署吗?flex直接编译到服务器的那个目录去。开发可以这么干。一切ok。

2011年12月05日 17:08
0 0

<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">  
            <endpoint url="http://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>  
        </channel-definition> 该成你项目名称。

2011年12月05日 17:05

相关推荐

    javaflex沟通v0.02

    JavaFlex通信是一个重要的技术主题,尤其对于开发跨平台富互联网应用程序(Rich Internet Applications,RIAs)的开发者来说。本项目“javaflex沟通v0.02”是针对Java和Flex交互的第二版实现,旨在提供更加灵活和...

    java+flex通信源码

    这个"java+flex通信源码"项目提供了一个实际的、完整的示例,演示了如何利用BlazeDS技术实现Java后端与Flex前端的无缝交互。下面我们将深入探讨相关的知识点。 首先,Flex是一种基于ActionScript的开放源代码框架,...

    Flex与Java实现通信

    ### Flex与Java实现通信——使用BlazeDS技术详解 #### 一、引言 随着互联网技术的不断发展,前端与后端之间的数据交换变得越来越频繁。Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,广泛应用...

    flex与java通信

    Flex和Java之间的通信是Web应用程序开发中的一个重要环节,它允许前端用户界面(UI)与后端服务器进行数据交互。Flex是一种基于Adobe Flash Player或Adobe AIR运行时的富互联网应用程序(RIA)开发框架,而Java则是...

    java flex入门实例

    在本实例中,我们将使用MyEclipse7作为Java开发环境,Flex Builder 3作为Flex开发工具,BlazeDS作为两者之间的通信桥梁。 1. **MyEclipse7**:MyEclipse是Eclipse IDE的商业版本,它为Java、Web、J2EE、移动应用等...

    Flex通信-Java服务端通信实例

    Flex通信-Java服务端通信实例主要探讨的是在Web开发中,如何使用Adobe Flex与Java后端进行交互。Flex是一款强大的富互联网应用程序(RIA)开发工具,它可以创建动态、交互式的用户界面,而Java则通常作为服务器端的...

    Java_Flex,Java_Flex,Java_Flex

    1. BlazeDS:BlazeDS是Adobe官方提供的一个免费的中间件,它允许Java服务器与Flex客户端之间进行实时双向通信。BlazeDS支持AMF(Action Message Format)协议,这是一种高效的二进制数据格式,能大幅减少网络传输...

    java与flex通信

    Java与Flex通信主要依赖于Adobe的BlazeDS技术,它提供了一个基于HTTP的实时双向通信框架,使得ActionScript(Flex的编程语言)可以与后端的Java服务进行数据交互。以下将详细介绍如何实现这一通信过程。 1. **...

    java flex jar包

    在Java和Flex的集成中,主要涉及的技术有Adobe BlazeDS、LCDS(LiveCycle Data Services)或者更现代的Apache Flex SDK,这些工具或库允许Java服务器与Flex客户端进行通信。它们提供了AMF(Action Message Format)...

    flex4与Java通信实例

    Flex4与Java通信是开发富互联网应用程序(RIA)时的一项重要技术,允许前端用户界面与后端业务逻辑之间进行高效的数据交换。在本实例中,我们探讨了三种Flex4与Java交互的方式:通过RemoteObject、HTTPService以及...

    flex与java通信的完整demo

    Flex和Java之间的通信是Web开发中的重要组成部分,尤其在构建富互联网应用程序(RIA)时。Flex作为客户端的用户界面框架,通常需要与后端服务器进行数据交换,而Java则常被用作强大的服务器端处理平台。这个“flex与...

    最简单的BlazeDS实现flex与java通信.rtf

    最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的BlazeDS实现flex与java通信..无积分下载...最简单的...

    Java与Flex通信的Java端代码

    在“JavaFlex项目”这个压缩包中,很可能包含了使用Java和Flex进行通信的示例代码,包括Java端的服务实现、BlazeDS配置以及Flex端的HTTPService或WebService调用。通过分析和学习这些代码,你可以更好地理解和掌握...

    使用BlazeDS实现Java和Flex通信之hello world

    这个“使用BlazeDS实现Java和Flex通信之hello world”示例旨在介绍如何通过BlazeDS来实现简单但关键的客户端-服务器交互。下面我们将详细探讨BlazeDS、Flex以及它们之间的通信机制,并通过“hello world”实例来具体...

    java+flex原码

    通过使用RESTful API或者SOAP Web服务,Java可以与Flex前端进行通信,传递数据和指令。 Flex作为前端,主要利用Adobe Flash Player或Adobe AIR运行,为用户提供动态、响应式的UI体验。它使用MXML和ActionScript语言...

    最简单的java与flex通信实例与完全步骤总结

    本篇文章将详细介绍一个最简单的Java与Flex通信的实例,并提供完整的实现步骤。 1. **Flex简介**: Flex是Adobe公司推出的一种基于ActionScript的开源框架,用于创建富互联网应用程序(RIA)。它使用MXML和...

Global site tag (gtag.js) - Google Analytics