웹 서비스 설명 언어 도구(Wsdl.exe)
웹 서비스 설명 언어 도구는 XML Web services 및 XML Web services 클라이언트에서 사용할 수 있는 코드를 WSDL 계약 파일, XSD 스키마 및 .discomap 검색 파일로부터 생성합니다.
wsdl [options] {URL | path}| 인수 | 설명 |
|---|---|
| URL | WSDL 계약 파일(.wsdl), XSD 스키마 파일(.xsd) 또는 검색 문서(.disco)의 URL입니다. .discomap 검색 문서의 URL은 지정할 수 없습니다. |
| path | 로컬 WSDL 계약 파일(.wsdl), XSD 스키마 파일(.xsd) 또는 검색 문서(.disco 또는 .discomap)의 경로입니다. |
| 옵션 | 설명 |
|---|---|
| /appsettingurlkey:key
또는 /urlkey:key |
코드를 생성할 때 URL 속성의 기본값을 읽는 데 사용할 구성 키를 지정합니다. |
| /appsettingbaseurl:baseurl
또는 /baseurl:baseurl |
URL 부분을 계산할 때 사용할 기본 URL을 지정합니다. 이 도구는 baseurl 인수에 대한 상대 URL을 WSDL 문서의 URL로 변환하여 URL 부분을 계산합니다. /appsettingurlkey 옵션도 함께 지정해야 합니다. |
| /d[omain]:domain | 인증이 필요한 서버에 연결할 때 사용할 도메인 이름을 지정합니다. |
| /l[anguage]:language | 생성된 프록시 클래스에 사용할 언어를 지정합니다. CS(C#; 기본값), VB(Visual Basic), JS(JScript) 또는 VJS (Visual J#)를 언어 인수로 지정할 수 있습니다. System.CodeDom.Compiler.CodeDomProvider 클래스를 구현하는 클래스의 정규화된 이름을 지정할 수도 있습니다. |
| /n[amespace]:namespace | 생성된 프록시 또는 템플릿의 네임스페이스를 지정합니다. 기본 네임스페이스는 전역 네임스페이스입니다. |
| /nologo | Microsoft 시작 배너를 표시하지 않습니다. |
| /o[ut]:filename | 생성된 프록시 코드를 저장할 파일을 지정합니다. 이 도구는 XML Web services 이름에서 기본 파일 이름을 파생시키며 생성된 데이터 집합을 서로 다른 파일에 저장합니다. |
| /parsableerrors | 언어 컴파일러에 사용되는 오류 보고 형식과 비슷한 형식으로 오류를 표시합니다. |
| /p[assword]:password | 인증이 필요한 서버에 연결할 때 사용할 암호를 지정합니다. |
| /protocol:protocol | 구현할 프로토콜을 지정합니다. SOAP(기본값), HttpGet, HttpPost 또는 구성 파일에 지정된 사용자 지정 프로토콜을 사용할 수 있습니다. |
| /proxy:URL | HTTP 요청에 사용할 프록시 서버의 URL을 지정합니다. 시스템 프록시 설정이 기본값으로 사용됩니다. |
| /proxydomain:domain
또는 /pd:domain |
인증이 필요한 프록시 서버에 연결할 때 사용할 도메인을 지정합니다. |
| /proxypassword:password
또는 /pp:password |
인증이 필요한 프록시 서버에 연결할 때 사용할 암호를 지정합니다. |
| /proxyusername:username
또는 /pu:username |
인증이 필요한 프록시 서버에 연결할 때 사용할 사용자 이름을 지정합니다. |
| /server | 계약을 기반으로 XML Web services에 대한 추상 클래스를 생성합니다. 기본값으로 클라이언트 프록시 클래스를 생성합니다. |
| /u[sername]:username | 인증이 필요한 서버에 연결할 때 사용할 사용자 이름을 지정합니다. |
| /? | 이 도구의 명령 구문 및 옵션을 표시합니다. |
설명
.wsdl 파일은 WSDL(Web Service description language)이라는 XML 문법으로 작성된 XML 문서입니다. 이 파일은 XML Web services의 동작을 정의하고, 서비스와 상호 작용하는 방법을 클라이언트에 지시합니다.
XML Web services에 대한 검색 문서는 웹 서비스 검색 도구(Disco.exe)를 사용하여 얻을 수 있습니다. 이 도구에서 생성되는 .discomap, .disco, .wsdl 및 .xsd 파일은 Wsdl.exe에 대한 입력 파일로 사용할 수 있습니다.
Wsdl.exe를 사용하여 프록시 클래스를 만들면 지정한 프로그래밍 언어로 단일 소스 파일이 만들어집니다. 프록시 클래스의 소스 코드를 생성하는 과정에서 이 도구는 서비스 설명에 지정된 개체에 사용할 수 있는 최상의 형식을 결정합니다. 경우에 따라 개체를 형식으로 캐스팅하기 위해 최소 공분모 접근법을 사용하기도 합니다. 그 결과 프록시 클래스에 생성된 형식이 개발자가 원하거나 예상한 형식과 다를 수 있습니다. 예를 들어, Wsdl.exe는 서비스 설명에서 ArrayList 형식을 만나면 생성된 프록시 클래스에 Object 배열을 만듭니다. 올바른 개체 형식 캐스트를 위해 생성된 프록시 클래스를 포함하는 파일을 열고 잘못된 개체 형식을 예상된 개체 형식으로 변경합니다.
예제
다음 명령을 사용하여 지정된 URL에 위치한 XML Web services에 대한 .wsdl 파일을 만들고 XML Web services에 대해 C# 언어로 클라이언트 프록시 클래스를 만듭니다.
wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL다음 명령을 사용하여 지정된 URL에 위치한 XML Web services에 대해 C# 언어를 사용하여 클라이언트 프록시 클래스를 만듭니다. 클라이언트 프록시 클래스는 myProxyClass.cs 파일에 저장됩니다.
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL다음 명령을 사용하여 지정된 URL에 위치한 XML Web services에 대해 Microsoft Visual Basic 언어를 사용하여 클라이언트 프록시 클래스를 만듭니다. 클라이언트 프록시 클래스는 myProxyClass.vb 파일에 저장됩니다.
[출처] 웹 서비스 설명 언어 도구(Wsdl.exe)|작성자 블루나라
