1

모든 메서드 요청과 응답 및 몇 가지 웹 메서드를 만드는 데 사용할 모든 개체가있는 WSDL이 제공되었습니다.WSDL을 통해 Visual Studio에 서비스 참조를 추가하는 중 오류가 발생했습니다.

"서비스 참조"로 WSDL을 성공적으로 추가했으며 메소드와 구조를 볼 수 있으며이를 인스턴스화 할 수 있습니다. 그것은 모두 거기에있는 것 같습니다. 그러나 문제가 있습니다. WSDL을 추가 한 후에 프로젝트가 빌드되지 않습니다.

"유형 이름 'ServiceReference1은'유형에 존재하지 않는 오류 2 'WSPELab.WSPELab'C : \ 사용자 \ JJ \ 문서 비주얼 스튜디오가 Reference.cs를 컴파일 할 때 여기에 내가 무엇입니까 오류 메시지입니다 \ 프로젝트 \ 비주얼 스튜디오 2008 \ WSPELab \ WSPELab 서비스 \ 언급 ServiceReference1 \ Reference.cs 21 (111) WSPELabSLN

나는 때문에 나의 부분에 네임 스페이스 오류이 오류 메시지를 수신하고 그것이 가능 \?

마지막으로 추가 질문 : WSDL을 추가하면 직접 포함 된 구조를 사용할 수 있습니까? 아니면 구현할 수있는 "목록"일까요?

+0

아마도 : [클라이언트에서 WCF 서비스에 액세스하는 중 오류가 발생했습니다] (http://stackoverflow.com/q/31357502/1497596) – DavidRR

답변

3

WSDL은 웹 서비스가 노출하는 메서드와 유형을 설명하는 컴퓨터가 읽을 수있는 파일입니다. Eclipse 및 Visual Studio를 비롯한 많은 IDE가이를 가져 와서 WSDL에 제공된 정의와 일치하는 프로그래밍 언어 클래스를 만들 수 있습니다.

예를 들어 Visual Studio C# 프로젝트에서 WSDL을 가져 오면 이러한 정의가 포함 된 Reference.cs 파일이 만들어집니다. 이러한 정의를 인스턴스화하고 모든 클래스에서와 동일한 방식으로 호출해야합니다.

var webServiceReference = new WsdlNamespace.ClassDefinedInWsdl(); 
WsdlNamespace.ParamClassDefinedInWsdl dataToGet; 
WsdlNamespace.ReturnCodeTypeDefinedInWsdl retCode = webServiceReference.MethodDefinedInWsdl("params expected by method", out dataToGet); 
if (retCode == WsdlNamespace.ReturnCodeValueMeaningAllIsWell) 
{ 
    // use properties of dataToGet 
} 

자세한 내용을 알려면 실제 WSDL을 표시해야합니다.

+0

감사! 나는 올바른 방향으로 가고 있었지만 이상한 네임 스페이스 오류가있었습니다. 새 프로젝트를 시작하고 참조를 추가 했으므로 이제 모든 기존 클래스를 사용할 수 있습니다. 다시 한번 감사드립니다. – Johnny

관련 문제