最近在用Flex call Web Service,結果發現呼叫遠端的Web Service會有問題。
查了一下才知道是新版FlashFlayer增強安全性後產生的問題,Adobe有解法在這。
其實只要在被呼叫的Web Service機器的網頁根目錄上,丟一個檔叫做crossdomain.xml,內容如下
這樣就可以解了,要注意的是"*"記得要指定Flash這端的domain,星號是所有都可以連。
faultCode:Channel.Security.Error faultString:'Security error accessing url'
faultDetail:'Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL '
查了一下才知道是新版FlashFlayer增強安全性後產生的問題,Adobe有解法在這。
其實只要在被呼叫的Web Service機器的網頁根目錄上,丟一個檔叫做crossdomain.xml,內容如下
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="80"/>
<allow-http-request-headers-from domain="*" headers="SOAPAction"/>
</cross-domain-policy>
這樣就可以解了,要注意的是"*"記得要指定Flash這端的domain,星號是所有都可以連。
你好:
ReplyDelete想請教一個問題。我在我的server上面放上crossdomain.xml這個檔案,但是我還是無法讀取到圖片,想請問這個是甚麼原因呢?
請問你是用什麼方式去讀圖片的 ?
ReplyDelete我有一個功能是按下按鈕之後,用滑鼠點在canvas上面會出現圖片,但是因為安全性的問題所以我export之後看不到那些圖片。
ReplyDelete而之前有問過別人說可以放進crossdomain.xml這個檔案,但是還是沒有看到圖片。
沒遇過這問題,不過我用猜的
ReplyDelete1.該瀏覽器支援canvas ?
2.放crossdomain.xml的地方對 ?
希望能幫上忙:)
我會試試看
ReplyDelete謝謝你:)