Когда происходит сгибание, возникает ошибка NetConnection.Call.Badversion
Я использую 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 ответа
Ошибка badversion часто является результатом того, что веб-сервер выдает ошибку при выполнении удаленного вызова, а не выбрасывает исключение в стиле amf. Поскольку клиент amf не может разобрать ответ, вы получите это сообщение об ошибке.
Используете ли вы uri 'https' и создаете channelSet вашего удаленного объекта с AMFChannel вместо SecureAMFChannel?
Этот тип общей ошибки может означать что угодно, и, скорее всего, это связано с тем, что IIS настолько хорош. Хотя проблема может быть связана с тем, как вы вызываете удаленную операцию...
Если вы абстрагировали свои удаленные сервисы в один волшебный класс, опубликуйте часть этого кода, и у меня могут быть некоторые предложения для вас... или я не могу... "на sait jamais"
Скоро поговорим, Джереми