错误#2032:流错误。通过ssl连接调用Web服务时

时间:2011-12-13 15:52:23

标签: actionscript-3 web-services flex ssl air

我正在尝试从AIR应用程序访问具有SSL连接的Web服务,我可以访问Web服务并在没有SSL的情况下检索数据,但是当我尝试通过它访问它时,我最终得到了2032流错误。好像我试图访问的内容不可用(实际上它是,因为我可以通过我的浏览器轻松访问它)。

我正在做以下事情:

    private var server:String = "";
    private var contentType:String = "";
    private var method:String = "";
    private var connector:connectionTest = null;
    private var serverURL:URLLoader = new URLLoader();

    public function Connector(a2:String, a3:String, mainClass:connectionTest)
    {
        server = "url";
        contentType = a2;
        method = a3;
        connector = mainClass;
    }

    public function callService(callback:String, request:Object):void{
        var url:URLRequest = new URLRequest(server);
        var encoder2:JSONEncoder = new JSONEncoder(request);
        var requestedString:String = "0" + encoder2.getString();
        url.contentType = contentType;
        url.method = method;
        url.data = "callback=" + callback;
        url.data +="&request=" + encodeURI(requestedString);
        url.authenticate = true;
        serverURL.addEventListener(IOErrorEvent.IO_ERROR, treatIO);
        serverURL.addEventListener(Event.COMPLETE, loadData);
        try{
            serverURL.load(url);
        }catch(e:ArgumentError){trace("ArgError: " + e.message);}
        catch(e:SecurityError){trace("SecError: " + e.message);}
    }
    private function treatIO(e:IOErrorEvent):void{
        trace(e.text);
    }

    private function loadData(e:Event):void{
        trace("loaded");
        connector.htmlObject.htmlText = serverURL.data as String;
        trace(serverURL.data);
    }

说明:mainClass是一个mxml文件,里面只有一个按钮和一个html对象。

注意:我已经完成了向Flex添加证书的建议。

那里有人可以帮忙解决这个问题吗?

修改 我也试过过URLStream类,它仍然没有处理它,好像我实际上无法连接到服务器......

即使我在浏览器甚至SoapUI中连接到它

2 个答案:

答案 0 :(得分:0)

我们在某些机器(Win7 64位)上遇到了同样的问题,但仍然没有解决。也许这是相关的:

http://forums.adobe.com/message/4028647#4028647

答案 1 :(得分:0)

当我遇到这个问题时,这是由我的托管公司引起SSL证书中的名称与我调用的URL之间的不一致造成的,当我用https://www.example.com/替换https://example.com/时,一切都开始了再次工作。