什么时候flex会抛出NetConnection.Call.Badversion错误

时间:2010-11-11 11:18:42

标签: java flex weborb

我使用Flex作为我的客户端,Java作为我的服务器。在远程主机中使用WebOrb。有时我收到这个错误。

  

的faultcode:Client.Error.MessageSend
  faultString:'发送失败'
  faultDetail:'Channel.Connect.Failed错误NetConnection.Call.BadVersion :: VB   url:'http://foo.com:5480/bar/weborb.wo''

我不知道为什么会这样。我用Google搜索,没有找到答案。 如果我在错误处理程序中处理它,一切正常。但我想知道为什么会这样。我该怎么做才能避免这个错误。

非常感谢任何帮助。

感谢您的回复..

这是我抽象的代码

public class FOOProxy implements IFOOProxy
{
    public static var FOO_PROXY:IFOOProxy;
    private var remote:RemoteObject;        

    public function FOOProxy()
    {

    }

    public function runCommand(request:IClientRequest):void
    {

        remote.addEventListener("result", onResult);
        remote.addEventListener("fault", onFault);          

      if(request is GeneralRequest)
        {
            var req:Request = request as CmdRequest ;
             if (req.requestType == fooController.UPDATE_REQUEST)
             {
                remote.requestTimeout=null;
             }else
             {
                remote.requestTimeout = 30;
             }                  
         }      
        remote.runCommand(request);

    }

    public function onResult(event:ResultEvent):void {
        var result:Object = (event as ResultEvent).result as Object ;
        /*
        Updating my result using callback.
        */
        CursorManager.removeBusyCursor();
    }

    public function onFault(event:FaultEvent):void {
        if(event.fault.faultCode=="Client.Error.MessageSend")
        {
            //This is where "NetConnection.call.badversion occurs"
        }

        else if(event.fault.faultCode=="Server Exception")
        // Server Exception Handling
        {               
                //Dispatch Something
        }           

    }



    public static function createProxy(callback:ICallback):IFOOProxy {
        if (FOO_PROXY != null) {
            FOO_PROXY.setCallback(callback);
            return FOO_PROXY;        
        }
        var iProxy:IFOOProxy = new FOOProxy();
        var proxy:FOOProxy = iProxy as FOOProxy; 
      //setting my callback here to update
        proxy.remote = new RemoteObject();
        proxy.remote.destination = "Rpc";           
        return proxy;
    }

}

这是它与server-:目标ID“Rpc”

连接的地方

我正在使用https,端口号5480并使用secure-amf作为远程-config.xml中的通道

提前致谢。

2 个答案:

答案 0 :(得分:2)

您使用的是“https”uri并使用AMFChannel而不是SecureAMFChannel构建remoteObject的channelSet吗?

这种通用错误可能意味着任何事情,并且更可能与IIS如此强大有关。虽然问题可能与您调用远程操作的方式有关...

如果您将远程服务抽象为一个神奇的课程,请发布一些代码,我可能会为您提供一些建议......或者我可能不会......“在sait jamais上”

尽快和你谈谈 杰里米

答案 1 :(得分:0)

badversion错误通常是Web服务器在执行远程调用时显示错误而不是抛出异常amf样式的结果。由于amf客户端无法解析响应,因此您会收到该错误消息。