[C#] WSDL 사용 방법
웹 서비스를 사용해야합니다. 그들은 저에게 WSDL 파일을 보냈습니다. 내 웹 사이트에 추가하고 프록시로 사용하려면 어떻게해야합니까? (가상 디렉토리에 넣으면 발견 될 수 있지만 실제 웹 서비스와의 연결을 허용합니까?)
답변
Visual Studio를 시작하고 웹 프로젝트 (또는 콘솔 앱-중요하지 않음)를 만듭니다.
.Net 표준의 경우 :
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴 추가 에서 “서비스 참조 추가”를 선택 합니다.
- 고급을 클릭 한 다음 서비스 참조 추가를 클릭합니다.
- wsdl의 전체 파일 경로를 가져와 주소 표시 줄에 붙여 넣습니다. 그런 다음 화살표 (이동 버튼)를 발사합니다.
- 파일을로드하는 동안 오류가 발생하면 아래와 같이 파일이 해결해야하는 문제가 있고 해결되지 않은 URL이 있어야합니다. 해결
방법에 대한 정보는이 답변을 참조하십시오
. wsdl 파일
오류가없는 경우 서비스에 액세스하는 데 사용할 네임 스페이스를 설정하기 만하면 자동으로 생성됩니다.
.Net Core 용
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴 추가에서 연결된 서비스를 선택합니다.
- 목록에서 Microsoft WCF 웹 서비스 참조 공급자를 선택합니다.
- 찾아보기를 누르고 바로 wsdl 파일을 선택하고 네임 스페이스를 설정하면됩니다. 오류가 발생하면 위의 오류 수정 URL을 참조하세요.
위의 모든 방법은 사용할 수있는 간단하고 매우 기본적인 WCF 클라이언트를 생성합니다. 생성 된 코드에서 “YourservicenameClient”클래스를 찾아야합니다.
참조 목적으로 생성 된 cs 파일은 Obj / debug (또는 릴리스) / XsdGeneratedCode에서 찾을 수 있으며 TempPE 폴더에서 여전히 dll을 찾을 수 있습니다.
생성 된 서비스에는 WSDL 계약에 정의 된 각 메서드에 대한 메서드가 있어야합니다.
클라이언트를 인스턴스화하고 호출하려는 메소드를 호출하십시오. 그게 전부입니다!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
원격 URL을 지정해야하는 경우 (기본적으로 생성 된 URL을 사용하지 않음) 프록시 클라이언트의 생성자에서 쉽게 수행 할 수 있습니다.
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
여기서는 configName
사용할 끝점의 이름 (URL을 제외한 모든 설정 사용) remoteURL
이고은 연결할 URL을 나타내는 문자열입니다 (구성에 포함 된 이름 대신).
답변
비주얼 스튜디오에서.
- 프로젝트를 만들거나 엽니 다.
- 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하십시오.
- “서비스 참조 추가”를 선택합니다.
- 받은 WSDL로 주소를 붙여 넣으십시오.
- 확인을 클릭하십시오.
오류가 없으면 개체 브라우저 및 모든 관련 메서드에서 서비스 참조를 볼 수 있어야합니다.
답변
WSDL.EXE 유틸리티 를 사용 하여 WSDL에서 웹 서비스 프록시를 생성합니다.
다음과 같은 클래스가 포함 된 긴 C # 소스 파일이 생성됩니다.
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol {
...
}
클라이언트 측 웹 서비스 소비 코드에서 :
- MyService를 인스턴스화하십시오.
- Url 속성 설정
- 웹 메소드 호출
답변
.Net Core 프로젝트 에 wsdl 참조를 추가하려는 경우 “웹 참조 추가”옵션이 없습니다.
wsdl 참조를 추가하려면 솔루션 탐색기로 이동하여 참조 프로젝트 항목을 마우스 오른쪽 단추로 클릭 한 다음 연결된 서비스 추가 옵션 을 클릭합니다 .
그런 다음 ‘Microsoft WCF 웹 서비스 참조’를 클릭합니다.
URI 텍스트 상자에 파일 경로를 입력하고 WSDL을 가져옵니다.
간단하고 매우 기본적인 WCF 클라이언트를 생성하고 다음과 같이 사용합니다.
YourServiceClient client = new YourServiceClient();
client.DoSomething();