2008/10/24

C# WebService Client 設定

開發環境為 Visual Studio 2008
設定完成後會有一個 MasterService 類別,使用這個類別的 Service 就可對 WebService 的各個方法進行存取了。

MasterService.Service service = new MasterService.Service();
service.XXXWebMethod();


點選左下角的 Advanced... 按鈕

點選左下角的 Add Web References ...

輸入 URL: http://www.diija.com.tw/API/MasterService.asmx, 注意:不用加上 ?WSDL"

crossdomain 設定

須取名為 crossdomain.xml,並放在網站上的根目錄
http://www.diija.com.tw/crossdomain.xml

*.2kuso.com : wildcard 設定,www.2kuso.com, ww2.2kuso.com 都符合規則,因此會套用。
domain 可以設為 ip 格式, domain="140.119.182.100"
headers="SOAPAction", 有些瀏覽器(IE)如果沒有設 SOAPAction 會無法取得 WebService 的回傳內容。


<?xml version="1.0"?>

<!DOCTYPE cross-domain-policy SYSTEM
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
<!-- secure = false, means allow https access -->
<allow-access-from domain="*.2kuso.com" secure="false" />

<allow-access-from domain="*.diija.com" secure="false" />
<allow-access-from domain="*.diija.com.tw" secure="false" />

<allow-access-from domain="140.119.182.100" secure="false" />

<allow-http-request-headers-from domain="*.2kuso.com" headers="SOAPAction"/>

<allow-http-request-headers-from domain="*.diija.com" headers="SOAPAction"/>
<allow-http-request-headers-from domain="*.diija.com.tw" headers="SOAPAction"/>

<allow-http-request-headers-from domain="140.119.182.100" headers="SOAPAction"/>
</cross-domain-policy>