1
我在WSDL/SOAP的服務器上有基本授權機制。我如何通過Flex WebService發送「授權」標題?如何從Flex WebService傳遞授權標頭?
簡單的例子:
var ws:WebService = new WebService();
ws.wsdl = "http://localhost:8000/api/service.wsdl"
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines = false;
encoder.encode("SomeUser:SomePassword");
ws.httpHeaders = {AUTHORIZATION : "Basic " + encoder.toString()};
ws.loadWSDL();
var operation:AbstractOperation = ws.get_info;
operation.send();
而且我得到一個錯誤:
Error #2096: The HTTP request header AUTHORIZATION cannot be set via ActionScript.
Flex應用程序和服務器在同一個域中。 另外我在我的服務器的根目錄(http://localhost:8000/crossdomain.xml)中有crossdomain.xml文件,但它永遠不會被flex調用(我從日誌文件中知道)。我會提供這個文件呢:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
<site-control permitted-cross-domain-policies="all"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
感謝, Zinovii
D'oh!我正在Adobe的Adobe Flex builder for linux上運行這個9.0.115.0版本。 – zinovii 2009-06-24 22:09:12