我使用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中的通道
提前致谢。
答案 0 :(得分:2)
您使用的是“https”uri并使用AMFChannel而不是SecureAMFChannel构建remoteObject的channelSet吗?
这种通用错误可能意味着任何事情,并且更可能与IIS如此强大有关。虽然问题可能与您调用远程操作的方式有关...
如果您将远程服务抽象为一个神奇的课程,请发布一些代码,我可能会为您提供一些建议......或者我可能不会......“在sait jamais上”
尽快和你谈谈 杰里米
答案 1 :(得分:0)
badversion错误通常是Web服务器在执行远程调用时显示错误而不是抛出异常amf样式的结果。由于amf客户端无法解析响应,因此您会收到该错误消息。