我正在尝试从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中连接到它
答案 0 :(得分:0)
我们在某些机器(Win7 64位)上遇到了同样的问题,但仍然没有解决。也许这是相关的:
答案 1 :(得分:0)
当我遇到这个问题时,这是由我的托管公司引起SSL证书中的名称与我调用的URL之间的不一致造成的,当我用https://www.example.com/替换https://example.com/时,一切都开始了再次工作。