최고의 방법을 리버스 엔지니어링 웹 서비스에서 인터페이스로써?
-
04-07-2019 - |
문제
나는 상속 WSDL 파일에 대해 웹 서비스 시스템에 액세스할 수 없을 개발하고 테스트합니다.
필요를 생성하는 웹 서비스에 준수하는 WSDL.래퍼입니다.순,그러나이 있는 경우에 할 수있는 가장 쉬운 방법이 다른 플랫폼을 사용할 수 있는 방법을 알게 될 수도 있습니다.생산 웹사 서비스는 Java 기반으로 합니다.
무엇에 대해 이동하는 가장 좋은 방법은 이것을 하고 있는가?
참고:된 wsdl 나타나지 않을 것과 호환 wsdl.exe 기 때문에 그것에 따르지 않는 WS-I 기본 프로필 v1.1.특히,이는 그룹의 전달에 그것을 언급했을 사용하는 또 다른 표준 Microsoft 도구를 지원하지 않지만 명백하게 하십시요.에 오류가 관련 필수'이름'필드:
Error: Element Reference '{namespace}/:viewDocumentResponse' declared in schema type '' from namespace '' - the required attribute 'name' is missing
에 대한 명확성을 위하여,내가 이해하는 내가 쉽게 만들 수 있습니다.NET 랩퍼 클래스에서 WSDL 파일이지만,그 무엇이 필요합니다.그것은 다음과 같다:
업데이트:원래의 웹 서비스를 사용하여 만들어졌다.
의 다이어그램을 보여주는 시스템이 사용할 수 없는 웹 서비스로 모의 웹사 서비스 http://paulw.us/blog/uploads/SO-WSDL-Question2.gif
해결책
우리가 사용하는 WSCF-웹 서비스 계약을 먼저 에서 도구를 Thinktecture 지 웹 서비스 개발을 만드는 XSD 스키마를 먼저 다음 서비스를 생성 하는 인터페이스를 사용하여 이 도구입니다.이 유용할 수 있습을 생성하는 서비스 인터페이스에서 WSDL 없습이 아직 자신입니다.
다른 팁
당신이 유용하게 사용할 수 있는 command line utility wsdl.exe
습니다.NET 를 사용하여 /serverInterface
옵션입니다.문서에 따르면:
을 위한 인터페이스를 생성합 서버측 의 구현 ASP.NET 웹사 서비스입니다.인터페이스에 대해 생성됩 각 바인딩에서 WSDL 문서(s).WSDL 혼자를 구현하 WSDL 계약(를 구현하는 클래스 인터페이스는 포함하지 않아야 하의 다음과 같은 클래스에 대한 방법:웹사 서비스 속성이나 직렬화는 속성 변경 WSDL 계약).짧은 양식 '/si'.
그렇습니다-당신이 사용할 수 있습 WSCF(위와 같이)생성하는 server side 코드입니다.실제 URL 을할 수 있습 덮어를 포인트를 테스트하는 URL 을 사용할 수 있습니다.
그러나,이것은 단지 생성합니다.당신은 여전히 코드를 실제 예를 들어GetCustomers()메소드는 다소 의심 때문에 아무 생각이 없는 방법의 실제 구현을 작동합니다.
할 수 있습니다 다음 중 하나를 조롱이 나를 만들 간단한 ASP 웹 서버를 실행합니다.
도 모 래퍼를 사용하여 인터페이스 RhinoMocks 고 StructureMap .
가 확실하지 않는 경우이 도움이 될 것입니다,
무슨 짓을했는 최근은:
- 을 생성합니다.cs 를 사용하여 파일 wsdl 도구 또는 visual studio
- 나는 그것을 변경하는 부분류
- 을 만들었 다른 부분에서 클래스는 모두 그것은 줄을 추가하는 것을 말한 클래스를 구현하 IWhatEver
- 내가 만든 인터페이스의 동일한으로 생성되는 프록시 등(따라서 이 프록시 완전히 구현하는 인터페이스)
다음 사용 조롱 framework(Moq)제 경우에는 모의하는 웹 서비스,나는 그 사용 가난한 망 속국 주입(통과하는 모의로 생성자의 클래스에서 테스트)..을 처리 할 수 있는 인스턴스의 IWhatever
테스트할 수 있습니다.
희망하는 데 도움이