Когда происходит сгибание, возникает ошибка NetConnection.Call.Badversion - PullRequest
0 голосов
/ 11 ноября 2010

Я использую Flex в качестве клиента и Java в качестве сервера. Использование WebOrb на удаленном хосте. Иногда я получаю эту ошибку.

faultCode: Client.Error.MessageSend
faultString: «Ошибка отправки»
faultDetail: 'Channel.Connect.Failed ошибка NetConnection.Call.BadVersion::
URL: 'http://foo.com:5480/bar/weborb.wo''

Я не знаю, почему это происходит. Я погуглил и не нашел ответа. Все работает нормально, если я обработаю его в обработчике ошибок. Но я хочу знать, почему это происходит. Что я должен сделать, чтобы избежать этой ошибки.

Любая помощь будет принята с благодарностью.

Спасибо за ответ ..

Вот мой абстрактный код

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;
    }

}

Здесь он соединяется с сервером: ID назначения "Rpc"

Я использую https, номер порта 5480 и использую secure-amf в качестве канала в удаленном файле -config.xml

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

Используете ли вы uri 'https' и создаете набор каналов вашего удаленного объекта с AMFChannel вместо SecureAMFChannel?

Такого рода общая ошибка может означать что угодно, и, скорее всего, она связана с тем, что IIS так хороша. Хотя проблема может быть связана с тем, как вы вызываете удаленную операцию ...

Если вы абстрагировали свои удаленные сервисы в один магический класс, опубликуйте часть этого кода, и у меня могут быть некоторые предложения для вас ... или я не могу ... "sait jamais"

Поговорим с вами, Джереми

0 голосов
/ 15 ноября 2010

Ошибка badversion часто является результатом того, что веб-сервер выдает ошибку при выполнении удаленного вызова, а не выбрасывает исключение в стиле amf.Поскольку клиент amf не может разобрать ответ, вы получите это сообщение об ошибке.

...