java flex 通信

问题描述

大家好,现在接到一个任务要用flex做一个拓补图,双击节点与java通信实现动成的的拓补图。这个demo已经完成了,接下来的任务就是把这个功能放入到一个已经上线的j2ee项目里。按着我个人的理解做了如下操作(firstflex为demo项目,testjavaincludeflex为上线的j2ee项目)1.将firstflex项目中flexbuilder生成的html,swf文件拷贝到testjavaincludeflex,在testjavaincludeflex根目录下建了一个flex文件夹2.将firstflex项目中的flex的配置及jar拷贝testjavaincludeflex3.更改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或htmlhttp://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的通信方式很好解决了上述问题。

解决方案

补充一下文件太多没细看主要问题就是services-config.xml。也就是flex和java通信,要建立通道,这个通道编译时候要用到,编译时可以在编译参数里面配置,运行时也要用到,要确保正确。你可以这样去访问http://{server.name}:{server.port}/testjavaincludeflex/messagebroker/amf看能不能访问就知道这里有没有问题。
解决方案二:
server.name和server.port改成你项目相关的对与这个问题怎么一个flex集成j2ee生成的后的swf(与java有交互)文件集成到另一个j2ee项目中:一般做法,就是直接用打包工具,直接打包,进去,如果你对ant,maven不是很熟悉可能有点痛苦。这样,flex代码不好调试,不会进断点。还有一种就是,j2ee项目不是要部署吗?flex直接编译到服务器的那个目录去。开发可以这么干。一切ok。
解决方案三:
<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> 该成你项目名称。

时间: 2024-08-23 12:31:12

java flex 通信的相关文章

java串口通信

java串口通信API说明 java串口通信 2008/09/22 20:24 java串口通信API说明 java串口通信    Java提供了 CommunicationAPI(包含于javax.comm包中)用于通过与机器无关的方式,控制各种外部设备.Communications API,是标准的Java的扩展部分,它在JavaAPI中是没有附带的.因此,必须先在SUN公司网站的Java站点(www.java.sun.com)上下载这个扩展类库. 1.1Communications API

线程通信-Java socket通信 使用jconsole监控发现线程数不断增加

问题描述 Java socket通信 使用jconsole监控发现线程数不断增加 Java socket 使用线程通信,作为接收方每接收一个交易信息,使用jsonsole监控线程发现线程数量增加22个左右,经生产环境运行结果,当已启动线程总数达到2600多时 tomcat出现类似于假死的状况,不再接收任何交易信息.目前正在使用系统定时任务每天定时重启(每日交易量在70-80左右),求大手帮我分析下,现在附上图片和部分代码.jsonsole监控图:部分代码;public class SimpleS

Java串口通信读取浮点型数据

问题描述 Java串口通信读取浮点型数据 怎么将如下位机中的数据:如温度读取并显示,大神们有具体的例子吗 解决方案 这个要取决于你下位机是用的什么方式通讯的,它的通信协议.基本的思路是读取串口数据,然后根据协议对得到缓冲区的字节数组进行解析. 参考:http://blog.csdn.net/wssiqi/article/details/14107341 解决方案二: java 串口通信Java串口通信简介

java socket 通信 服务端接收的文件大于客户端发出的文件 是什么鬼

问题描述 java socket 通信 服务端接收的文件大于客户端发出的文件 是什么鬼 //服务端package Socket; import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;

java-求大神帮忙,在Java串口通信中设置DTR_CONTROL_DISABLE如何实现?

问题描述 求大神帮忙,在Java串口通信中设置DTR_CONTROL_DISABLE如何实现? 写了简单一个串口调试助手的程序,用来与STM32单片机通信,但是 DCB.fDtrControl = DTR_CONTROL_ENABLE的参数不对,使用下载的调试助手可以实现通信其DCB.fDtrControl值为DTR_CONTROL_DISABLE,自己写的却是DTR_CONTROL_ENABLE?是这个原因影响通讯了吗?如果是要如何改进? 解决方案 http://gqdy365.iteye.c

自己写了一个用java socket通信实现的文件传输,如果我想实现不同局域网之间的传输怎么办?

问题描述 自己写了一个用java socket通信实现的文件传输,如果我想实现不同局域网之间的传输怎么办? 可不可以把自己的电脑搭建成服务器然后把文件传上去,自己电脑的服务器可以使用非web的文件么 解决方案 不同局域网之间通信要路由器交换机支持,进行路由转发.不然不能直接通信 解决方案二: 如果Socket通信的话IP地址必须相同

PHP与Java进行通信的实现方法_php实例

缘起: 最近做了一个电商平台与网银整合的小东西,程序是开源的 Ecmall的,网银的接口也很规范,给出的文档很全,唯一的小问题是,网银使用的签名和验签的lib是只有java和c的,对java还熟悉一些,所以选择了使用java作为签名和验签的接口. 方法: 网上关于php与java交互的资料其实挺多的.总体来说其实也是这么几种方法: •PHP直接通过exec或者system之类的命令调用命令行,然后以java Hello 这种类型得方式来运行java程序,但是缺点是很明显的,不能很好地与java类

java tcp通信-JAVA TCP通信,客户端给服务器发送java对象时报错

问题描述 JAVA TCP通信,客户端给服务器发送java对象时报错 我在做JAVA TCP 编程时,我想实现客户端A与客户端B之间通过服务器C来通信,但是我通过客户端A给服务器发送消息时,我传送的是一个java对象MsgPackage类对象,我通过ObjectOutputStream.writeObject来传送,但是服务器去读取这个对象时报错了,没有能正确读取到客户端发送过来的对象,请各位大神指教一下.错误的消息是这样: java.lang.ClassNotFoundException: c

java socket通信,字节丢失问题

问题描述 java socket通信,字节丢失问题 请教高手一个问题: 我现在在多台win7和xp的主机上进行java的socket通信,主机间的源代码是通过svn同步,肯定完全一样,现在问题是(以下测试的socket通信文件完全一样):两台xp主机间通信完全没有问题,xp往win7发送也没有问题 问题出在:当win7往xp发送数据时,就会丢字节,在xp上最多接收8755个字节(接收缓冲区足够大),这样该如何解决,有没有哪位也碰到过同样的问题?麻烦指点下... 解决方案 是必现的吗......?