2009-10-29 78 views
0

所以我使用下面列出的兩個xml文件,但沒有運氣。它們都存在於我的IIS託管的Web服務的根目錄中,位於不同的Web服務器上(位於防火牆之後)。 Web服務是一個簡單的POX服務,它返回一個JSON字符串。我的Silverlight 3.0中的跨域策略仍然存在問題

此外,我試圖從本地機器上的cassini運行項目訪問此服務(以測試它)。我可以從瀏覽器查看JSON,但是當我嘗試使用相同的URI(4004是顯示的錯誤代碼)執行HTTP GET時,Silverlight中出現安全錯誤。

任何簡單的事情,我錯過了嗎?

clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-request-headers="*"> 
     <domain uri="*"/> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true"/> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

的crossdomain.xml

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only" /> 
    <allow-access-from domain="*" secure="true" /> 
</cross-domain-policy> 
+0

你的意思是404嗎?響應代碼4004不存在。 – 2009-10-29 14:03:29

回答

2

您是否正在使用像fiddler這樣的工具來查看針對跨域策略文件的請求所指向的地址?這通常是我的第一次檢查;如果政策文件沒有找到,我會知道它應該在哪裏,如果是的話,我通常需要去其他地方看看。

你的clientaccesspolicy.xml和我的參考文獻一樣。應該沒有問題。

+0

我確實激發了提琴手,並且發現我沒有auth來訪問該服務,所以我啓用了匿名訪問並且它正在工作!謝謝你的明顯答案(使用小提琴家)! – 2009-10-29 14:59:23

0

如果你得到一個404響應代碼,唯一的原因可能是服務器無法找到你的資源正在找。那麼你是否確定你正在使用正確的網址?

+0

錯誤不是404,而是顯示4004代碼的安全錯誤(如上所示)。我認爲這個安全性錯誤是因爲在我將服務推送到另一臺服務器之前,因爲它正常工作,所以跨域訪問。 – 2009-10-29 14:06:12

+0

然後誰在產生錯誤? Silverlight客戶端?你有更詳細的錯誤信息嗎? – 2009-10-29 14:13:38