[RPC Fault faultString="[MessagingError message='目标“catalog”不存在,或者目标没有已定义的通道(并且应用程序没有定义任何默认通道)。']" faultCode="InvokeFailed" faultDetail="无法建立到“catalog”的连接"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::invoke()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as:388]
at mx.rpc.http::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::invoke()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as:1059]
at mx.rpc.http::AbstractOperation/sendBody()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as:899]
at mx.rpc.http::HTTPService/send()[E:/dev/4.0.0/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as:880]
at main/___main_Button1_click()[C:/Documents and Settings/yaner/Adobe Flash Builder 4/aa/src/main.mxml:8]
上面错误引发有多个原因:
1. 服务端的配置文件中的真的没有对应的服务目标。解决办法很简单,添加上该服务目标即可。
2. 由于flex版本问题照成,本人拷贝flex3的代码放在flex4中会引发该错误,而将其改为flex4代码该错误便会消失。
上面黑屏所示bug很明显是由于没有注册服务照成的,需要在相应的配置文件中配置一下destination即可。
错误2:
[FaultEvent fault=[RPC Fault faultString="发送失败" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Status 404: url: 'http://localhost:8080/WebContent/messagebroker/amf'"] messageId="5E95B395-E2F3-F4C0-2C4F-779B7AE90B56" type="fault" bubbles=false cancelable=true eventPhase=2]
解决的办法是对remoteOjbect对象设置属性:endpoint="../messagebroker/amf" , 如果这样不行的话就试试加上全路径如:http://localhost:8080/bookShopApp/messagebroker/amf