2011-09-01 4 views
3

.NET 응용 프로그램 (WinForms, .NET Framework 4.0)을 개발 중이며 웹 서비스에서 메서드를 호출해야합니다.웹 서비스 작업

문제는 클라이언트의 웹 서비스는 네트워크 내부에서만 액세스 할 수 있다는 것입니다. 개발 당시에는 액세스 할 수 없으므로 설명으로 추가 할 수 있습니다.

어떻게해야합니까?

네트워크에서 해당 웹 서비스의 복제본을 만들어야합니까? 어느 옵션이 가장 좋을까요?

답변

1

나는 WSDL을 얻었고 내 측면에서 호출 할 수있는 모의 작업을 작성했습니다.

나는 그때 내가 기대하고 있던 데이터를 반환하고 나중에 내가 기대하지 않았던 데이터를 반환하도록 할 것이다.

그런 다음 배포 할 때 (그래야 함) 괜찮 으면서 일부 통합 테스트를 실행해야합니다.

당신이 쓸 수 있도록 사용할 수 있도록 포트를 열어달라고하는 대체 방법.

+0

고마워요! 좀 더 자세한 정보를 제공해 주시겠습니까? – maephisto

0

더미 데이터를 반환하는 웹 서비스를 복제 할 수 있습니다.

+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  
    } 
}