针对Flex+Java使用RemoteObject通讯 报错Channel.Connect.Failed error NetConnection.Call.Failed 404

今天在Flex中使用RemoteObject进行java调用时,报错

[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://localhost:8080/UnitCity/messagebroker/amf‘"] ,于是百度之,网上说法很多,最多的是以下两种情况:

 

第一种情况:

[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://localhost:8889/WebContent/messagebroker/amf‘"]

当url中是WebContent而不是工程名称时:这主要是因为Context root的设置问题,修改为工程名字即可;

方法:右键工程 - properties - flex server - Context root(/工程名)

 

第二种情况:

[RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: ‘http://localhost:8080/UnitCity/messagebroker/amf‘"]

针对这种情况有人说是tomcat的问题,有人说是RemoteObject调用时需要添加endpoint="http://localhost:8080/项目名/messagebroker/amf">,例如

<mx:RemoteObject id="tPublicUserService" destination="tPublicUserService"  endpoint="http://localhost:8080/项目名/messagebroker/amf">

</mx:RemoteObject>

而我在调用时已经配置了这个,但是依然有问题,那就是第三种情况了,

第三种情况(我的情况):

于是我继续查找,终于找到了原因:由于我在web.xml里只配置了flex监听,而忘了配置servlet;解决方法如下:

 

也有人说添加下面的也可以,具体没有测试:

<listener>
        <listener-class>flex.messaging.HttpFlexSession</listener-class>
    </listener>
  <servlet>
        <servlet-name>MessageBrokerServlet</servlet-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>

时间: 2025-01-08 14:02:44

针对Flex+Java使用RemoteObject通讯 报错Channel.Connect.Failed error NetConnection.Call.Failed 404的相关文章

Java中List.remove报错UnsupportedOperationException

Java中List.remove(removeRange,clear类似) 报出 UnsupportedOperationException 的错误.原来该List是一个AbstractList,不支持增删改操作. 一般情况下我们会使用 LinkedList 和 ArrayList ,什么情况下出现 AbstractList 呢?通过 ArrayList.asList() 函数得到的 List 就是 AbstractList.该AbstractList只是简单地在已有的元素数组上套了一层List

用java运行Hadoop程序报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.

用java运行Hadoop例程报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.所写代码如下: package com.pcitc.hadoop; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.h

【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface

后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Speci

java连接MySQL运行报错The server time zone value &#39;&#214;&#208;&#185;&#250;&#177;&#234;&#215;&#188;&#202;&#177;&#188;&#228;&#39; is unrecognized or represents more than

错误:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than 原因:time zone 时区错误 解决方法: 1.使用root用户登录mysql,输入下面命令. show variables like '%time_zone%';SYSTEM为SQL默认美国时间,而我们中国要比他们迟8小时 2.SYSTEM为SQL默认美国时间,而我们中国要比他们迟8小时,因此将时区设置为当前系统时区即可,

java数据库执行迁移报错Error creating bean with name &#39;flywayInitializer&#39; defined in class path resource

报错原因 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocati

程序报错:Probable fatal error:No fonts found.

今天,使用java写一个验证码,发布到linux服务器上,验证码不能正常显示, 程序报错:Probable fatal error:No fonts found. 经排查项目中使用了new Font("DIALOG", Font.PLAIN, fsize),即名称为"DIALOG"的字体. 解决方案:服务器上装载对应语言包支持 yum groupinstall chinese-support

vue报错 Module not found: Error: Cannot resolve &#39;file&#39; or &#39;directory&#39;

炸了,我好写sell而组件,直接就用了,我的天哪 看你的写了吗,就用: Module not found: Error: Cannot resolve 'file' or 'directory' 页另一种错误,按这种情况我没遇到:http://www.mamicode.com/info-detail-1564042.html vue报错 Module not found: Error: Cannot resolve 'file' or 'directory'

cacti监控windows主机报错:SNMP Information SNMP error

我用Linux做cacti监控服务器监控windows主机时出现以下错误,自己检查windows主机的SNMP端口正常,防火墙也正常关闭,用snmpwalk命令也报错.自己百度和谷歌终于找到解决问题的,希望有朋友遇到过这种类型的错误快速解决. 1.错误如下: 2.检查windows主机的端口和防火墙 3.在Linux服务器上用snmpswak命令提示错误 4.解决问题(是因为windows主机的SNMP服务没有"接受团体名称") 5.测试正常 cacti监控windows主机报错:SN

vs2010编译错误(报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏)

报错:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 1> 这段时间忙于看文献,没用过VS了. 今天用着用着就报错了: LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 1> 问度娘,大神给出了解决方法: VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK1123” 错误,解决方案为: 将 项目|项目属性|配置属性|清单工具|输入和输出|