2012-08-03 6 views
11

wsdl 파일 만 가지고 있으면 어떻게 webservice 다양한 메소드를 호출하기 위해 프록시 클래스를 만들 수 있을까요? 어떻게 webservice 관련된 모든 클래스와 그 속성 & 메서드는 내 C# 애플 리케이션에 노출됩니다. 아무도 날 인도하는 데 도움이 될 수 없어요. 감사합니다웹 서비스의 경우 WSDL에서 프록시 클래스를 생성하는 방법

+3

'wsdl.exe' 또는'svcutil.exe'를 찾아보십시오 –

+0

감사합니다. 그러나 얼마나 멀리 svcutil이 webservice가 아닌 WCF와 관련되어 있는지 알지만 확실하지 않습니다 ... 약간의 빛을 넣으십시오. – Thomas

+0

http://msdn.microsoft.com/en-us/library/7h3ystb6.aspx - MS는 wsdl.exe에서 svcutil.exe를 사용하는 것이 좋습니다. 후자는 레거시 기술로 간주되기 때문입니다. –

답변

6

통신하려는 서비스에 대한 클라이언트 프록시를 생성하려면 ServiceModel Metadata Utility Tool 또는 Visual Studio의 Add Service Reference Dialog을 사용해야합니다. 생성 된 프록시는 서비스 계약을 추상화하는 클래스를 제공하고 클라이언트 응용 프로그램이이 클래스와 상호 작용하도록 프로그래밍 할 수 있습니다. 공용품이있다

+0

웹 참조를 추가하면 웹 서비스 URL을 알아야하지만 어떤 경우에는 제 3 자 회사가 wsdl 파일 만 제공하는 것으로 나타났습니다. 내가 wsdl에서 프록시를 생성하면 프록시가 웹 서비스와 상호 작용할 수있는 방법. 프록시 클래스가 webservice의 실제 URL을 어떻게 알 수 있습니까 ..... .....이 개념을 토론 할 수 있습니다 – Thomas

+0

webservice url이 wsdl 파일에 저장되는 방법은 무엇입니까? 태그에 저장됩니다. 웹 서비스 url이 wsdl 파일에 저장되는 방법을 지적하기 위해 샘플 wsdl 코드를 제공하십시오. thanks – Thomas

+0

생성 된 프록시에는 서비스의 끝점과 관련된 정보가 없습니다. 프록시 (또는 채널)를 인스턴스화 할 때는 사용할 바인딩 및 엔드 포인트를 제공해야합니다. 이 정보는 위에서 언급 한 도구도 생성하는 구성 파일에서 읽을 수 있습니다. http://msdn.microsoft.com/en-us/library/ms576141.aspx를 참조하십시오. – lesscode

7

, 그것은 그것은 명령 행의 wsdl.exe

라고, (2005 년 이후, 내가 생각하는) 비주얼 스튜디오와 shipps 및 프록시를 생성 할 수 있습니다.

+0

입니다. webservice url하지만 어떤 경우에는 제 3 자 회사가 wsdl 파일 만 제공한다는 것을 보았습니다. 내가 wsdl에서 프록시를 생성하면 프록시가 웹 서비스와 상호 작용할 수있는 방법. 프록시 클래스가 웹 서비스의 실제 URL을 어떻게 알았는지 .....이 개념을 토론 할 수 있습니까 – Thomas

+0

참조로 추가 된 프록시와 동일합니다. Proxy 자체에는 WebService 위치 정보가 없습니다. 웹 서비스 구성은 Web.config/app.config 파일에 있습니다. 웹 참조를 추가하면 클라이언트 구성이 생성됩니다. 직접 프록시를 추가 할 때 스스로 구성을 추가해야합니다. 또는 URL을 클라이언트 생성자 매개 변수로 전달할 수 있어야합니다. – Varius

+0

당신은 1000에 가깝기 때문에 – toddmo

2

명령 줄을 사용하여 WSDL.exe 도구를 사용할 수 있습니다.

즉 WseWsdl3 WSDLPath /out:MyProxyClass.cs

+0

구문이 틀렸다고 생각합니다. 우리는 웹 참조를 추가 할 때 우리는 webservice URL을 알아야하지만 어떤 경우에는 제 3 자 회사가 wsdl 파일 만 제공한다는 것을 보았습니다. 내가 wsdl에서 프록시를 생성하면 프록시가 웹 서비스와 상호 작용할 수있는 방법. 프록시 클래스가 웹 서비스의 실제 URL을 어떻게 알았는지 .....이 개념을 토론 할 수 있습니다. – Thomas

+0

WSDL에 태그와 같은 서비스 주소가 있습니다. 일단 프록시를 생성하면 구성에서 상호 작용에 사용할 서비스 URL을 결정하는 구성 값을 생성해야합니다. – VRK

1

WseWsdl3.exe 프록시 클래스를 생성 할 수없는 경우, 아직 방법이있다.

IIS에서 일반 ASP.NET 웹 응용 프로그램으로 서비스를 실행할 수 있으면 프록시 클래스가 제대로 생성 된 임시 ASP.NET 파일이 만들어집니다.

당신은 폴더에서 찾을 수 있습니다 :

C : 프레임 워크 \ vMAJOR.MINOR.BUILD \ 임시 ASP.NET 파일 \ YOUR_WEB_APP \ \ WINDOWS \ Microsoft.NET. 임의의 이름을 가진 일부 하위 폴더가 있으며 가장 최근의 하위 폴더로 이동하여 "App_WebReferences.XXXX.0.cs"와 같은 형식을가집니다.

관련 문제