RemoteObject发送请求失败

本文针对Flex应用中出现的远程对象连接失败问题进行了详细的分析,并提供了三种有效的解决方案,包括修改RemoteObject配置、使用URLUtil动态获取URL及调整FlexServer中的Contextroot设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常信息:
[color=red]faultCode:Client.Error.MessageSend
faultString:'Send
failed' faultDetail:'Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404:
url: 'http://localhost:8000/WebContext/messagebroker/amf''[/color]

从异常信息中可以看出是 URL 的错误。
http://localhost:8000/[color=red]WebContext[/color]/messagebroker/amf
应该是:
http://localhost:8000/HolleWorld/messagebroker/amf

解决方法:
一、在RemoteObject标签中加入endpoint元素。
<mx:RemoteObject destination="Hello" id="h"  endpoint="http://localhost:8000/HelloWorld/messagebroker/amf">
<mx:method name="getMessage" result="show(event)"
fault="faultMsg(event)"/>
</mx:RemoteObject>


但是这样就使得在其他电脑上访问也会有问题。

二、通过URLUtil动态获得URL
var url:String = URLUtil.getServerNameWithPort(Application.application.url);

将url绑定到endpint也可以解决这个问题。

三、修改FlexServer中的Context root。
项目名称-->右键选择properties-->选择Flex Server-->将Context root修改为项目名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值