실제 wsdl 파일만으로 서비스 참조를 생성하는 방법


123

저는 수년간 웹 서비스를 만들고 사용했으며 항상 Visual Studio를 사용하여 클라이언트에서 서비스 참조를 만들 수있었습니다. 작업해야 할 타사 서비스가 있는데 그들은 보안을 열지 않기 때문에 wsdl을보고 서비스 참조를 만들 수 있습니다. 그것은 공공 서비스이기 때문에 그 수준의 보안이 필요하다고 생각하지 않지만 그것이 무엇인지입니다.

이 질문이 n00b 질문이라는 것을 알고 있으며 부끄럽습니다.하지만 클라이언트가 이메일을 보낸 wsdl의 실제 사본 만 사용할 수있는 경우 클라이언트에서 동등한 서비스 참조 정보를 생성하려면 어떻게해야합니까? web.config 변경, SOAP 데이터 위의 개체 계층 등. 자동화 된 서비스 참조와 마찬가지로 서비스에 대한 연결을 열고 정의 된 개체와 함께 사용하기 시작합니다.

타사 서비스는 내가 알 수있는 한 WCF가 아니라 SOAP입니다. VS 2010 btw를 사용하고 있습니다. 미리 감사드립니다, 켄


답변:


180

이것이 가장 쉬운 방법 일 수 있습니다

  • 프로젝트를 마우스 오른쪽 단추로 클릭하고 "서비스 참조 추가 ..."를 선택하십시오.
  • 주소 : 상자에 다운로드 / 수정 된 wsdl의 실제 경로 (C : \ test \ project ....)를 입력합니다.
  • 이동

11
"Copy as Path"를 사용하는 경우 따옴표를 제거하십시오.
O. Jones

다른 사람에게 전달하기 위해 wsdl을 저장할 때 크롬의 웹 서비스에서 wsdl의 "소스보기"는 저에게 작동하는 wsdl을 제공했지만 IE11은 그렇지 않았습니다. YMMV.
archangel76

68

이 문제를 해결하는 데는 두 가지 방법이 있습니다. IDE를 사용하여 WSDL을 생성하거나 명령 줄을 통해 생성 할 수 있습니다.

1. IDE를 통해 생성하려면 :

솔루션 탐색기 창에서 서비스를 추가 할 프로젝트를 마우스 오른쪽 단추로 클릭합니다.

여기에 이미지 설명 입력

그런 다음 서비스 WSDL의 경로를 입력하고 go를 누를 수 있습니다.

여기에 이미지 설명 입력

2. 명령 줄을 통해 생성하려면 :

VS 2010 명령 프롬프트 (프로그램-> Visual Studio 2010-> Visual Studio 도구)를 열고
다음을 실행합니다.

WSDL /verbose C:\path\to\wsdl

그러면 WSDL.exe는 사용자가 사용할 .cs 파일을 출력합니다.

xsd와 같이 파일과 함께받은 다른 종속성이있는 경우 인수 목록에 추가합니다.

WSDL /verbose C:\path\to\wsdl C:\path\to\some\xsd C:\path\to\some\xsd

당신은 VB 출력, 사용이 필요한 경우 /language:VB받는 사람뿐만 아니라 /verbose.


'Unable to import binding'blah 'from namespace'blahURL 'and Unable to import operation'SomeRequest ', The element'xxx 'is missing. 이것은 그들이 나에게 더 많은 지원 파일을 제공해야한다는 것을 의미합니까, 아니면 그들이 내가 아무것도 할 수 없을 정도로 그들의 보안이 너무 겁에 질려 있다는 것을 의미합니까?
kfoster

종속성이 누락 된 것 같습니다. WSDL을 열고 상단을보십시오. importxsd 경로를 가리키는 schemaLocation이 뒤에 오는 줄이있는 경우 해당 xsd 파일도 필요합니다.
Lynn Crumbling

응답 해 주셔서 감사합니다. 필요한 xsd 가져 오기를 얻을 수 있는지 확인하기 위해 클라이언트와의 미해결 이메일이 있습니다. 그래도 너무 실망 스럽습니다. 바로 완료되면 ServiceReference 대화 상자에 URL을 표시하고 버튼을 누르고 비올라를 누르십시오! 서비스 메서드를 호출하는 데 약 3 줄의 코드가 필요합니다. 전체 과정은 약 5 분 정도 걸립니다. 그러나 저는이 클라이언트와 몇 주 동안 작업 해 왔으며 보안 담당자가 웹을 통해 서비스 정의에 대한 액세스를 열지 않기 때문에 모든 곳을 찾지 못했습니다.
kfoster

그것은 거칠다. 나는 현재 프로젝트를 위해 VPN 연결을 기다리고 있습니다. 다행히 그들은 미리 wsdl과 함께 xsd 문서를주었습니다. 그래서 wsdl에서 그 수입품을 찾았습니까?
Lynn Crumbling

예. 4 개의 서비스에 대해 그들이 2 개에 대해 wsdl을, 다른 2 개에 대해 xsd를 주었으므로 어떤 서비스에도 완전한 파일 세트가 없습니다. 그러나 마침내 나는 xsd를 얻었고 2 개의 서비스에 대해 .cs 파일을 생성 할 수 있었고, 다른 2 개는 내가 생각하기에 따를 것입니다. 감사.
kfoster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.