2011-09-01 133 views
3

我正在開發一個.NET應用程序(WinForms,.NET Framework 4.0),我需要從Web服務調用一個方法。使用網絡服務

問題是客戶端的Web服務只能從其網絡內訪問。所以在開發時,我無法訪問它,所以我可以添加它作爲參考。

我該如何繼續?

我應該在網絡中創建某種Web服務的副本嗎? 哪一個會是最好的選擇?

回答

1

我會得到WSDL並寫一個模擬它,我可以從我身邊打電話。

然後,我會讓它返回我期待的數據,然後讓它返回我沒有想到的數據。

然後當你部署它應該沒問題但你需要運行一些集成測試。

替代它來告訴他們打開一個端口供您使用,以便您可以編寫該s/ware。

+0

謝謝!你能否提供一些更多的細節? – maephisto

0

您可以複製返回虛擬數據的Web服務。

+0

謝謝!你通過複製瞭解什麼? – maephisto

+0

@maephisto,同樣的WSDL,虛擬數據。 –

0

我會在單獨的抽象層中調用服務,如果您希望在測試過程中使用,可以提供不同的實現。

例如,東西沿線..

public interface IXYZServiceInvoker 
{ 
    SomeData SomeServiceCall(); 
}  

public class SomeServiceInvoker : IXYZServiceInvoker 
{ 
    public void SomeServiceCall() 
    { 
      //Calls a real service  
    }   
}  

public class FakeServiceInvoker : IXYZServiceInvoker 
{ 
    public SomeData SomeServiceCall() 
    { 
      //returns some dummy/test data  
    } 
}