2011-09-01 230 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  
    } 
}