zoukankan      html  css  js  c++  java
  • Flex应用BlazeDS时报错:[RPC Fault faultString="发送失败" faultCode="Client.Error.MessageSend" faultDetail="Channel.Connect.Failed

    刚接触Flex,在学习BlazeDS的时候,碰见这个问题,调了一天也不知道为什么

    错误[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'"]

    上网狂搜,终于解决了。

    参考http://www.cnblogs.com/adaikiss/archive/2010/08/17/1801231.html

    发送请求总是404 NOT FOUND! 后来在网上看到有人提到

    http://localhost/WebContent/messagebroker/amf

    对比自己的请求,也是这样的...

    services-config.xml里明明是

    http://{server.name}:{server.port}/{context.root}/messagebroker/amf

    的,我的webapp访问用的也是项目名,而不是WebContent呀,然后试着把services-config.xml里的

    {context.root}用项目名替换,不成功,然后去项目根目录看,发现

    .flexProperties文件里有段

    <flexProperties enableServiceManager="false" flexServerFeatures="4" flexServerType="8" flexWarLocation="E:/blazeds.war" serverContextRoot="/WebContent" serverRoot="E:/workspaces/flex/WebContent" serverRootURL="http://localhost:80/flex" toolCompile="true" useServerFlexSDK="false" version="2"/>

    真凶终于出来了...就是serverContextRoot="/WebContent"这个,把它改成项目名,问题就解决了...

    这个是创建项目时自动生成的,谁知道它会这么傻...

    还有一种方法是说在mxml中的RemoteObject对象定义时加上endpoint="messagebroker/amf" 属性。(这个没试过)

    但是为什么会这样?项目由eclipse自动生成,难不成每次都要去改这个.flexProperties文件?

    还有就是serverContextRoot,serverRoot,serverRootURL分别有些什么用?请明白的大侠指导下,谢了!

  • 相关阅读:
    读《构建之法》阅读与思考
    软工沉浮沉沉沉沉沉沉…记事
    四则运算截图and代码
    2016012000郭慕然+散列函数的应用及其安全性
    结对作业之四则运算网页版
    阅读《构建执法》第四章及第十七章有感
    2016012000小学四则运算练习软件项目报告
    有关读《构建之法》的部分思考与疑问
    遇见·软件
    我的——今日学习内容
  • 原文地址:https://www.cnblogs.com/huangzy/p/1957000.html
Copyright © 2011-2022 走看看