[英]Calling WebService In Cross Domain
我想使用域B中的C#代碼從域A調用網絡服務。我試圖添加帶有該網絡服務URL的網絡引用,但是它給出了如下錯誤
There was an error downloading 'http://localhost:15666/MailBox/'.
Unable to connect to the remote server
No connection could be made because the target machine actively refused it 127.0.0.1:15666
There was an error downloading 'http://localhost:15666/MailBox/$metadata'.
Unable to connect to the
由於跨網域,我遇到了很多問題。 有什么解決辦法嗎?
由於您已在localhost上請求了Web服務,因此這不是跨域問題。 我懷疑您需要更新引用以指向另一台計算機上的Web服務。
您的問題(至少是您粘貼的異常)與在另一個域上調用Web服務無關。 它表明您的計算機(本地主機)已關閉端口15666
,因此您收到actively refused it
錯誤消息。 您要么不在該端口上運行Web服務,要么Windows防火牆阻止了該連接,盡管這種情況不太可能發生,因為防火牆通常接受來自本地主機的連接。
您始終可以通過在您感興趣的特定端口上遠程登錄到localhost或使用nmap掃描自己的端口來檢查這種情況。
嗨,最后我得到了我的問題的答案,這不是跨域問題,但是我遇到了問題,因為我沒有為Web服務創建迪斯科文件或WSDL文件,所以我得到了元數據錯誤。我在本地運行Web服務,從那里獲取WSDL文件並為我的網絡服務和繁榮創建新的WSDL文件...問題已解決。感謝您的所有幫助...
您必須創建一個文件(clientaccesspolicy.xml)並將其放入wwwservice的wwwroot目錄或主目錄中。
文件內容應類似於:
<?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>
您可以在使用clientaccesspolicy.xml文件允許跨域訪問中了解有關此內容的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.