2011-02-11 5 views
3

Web service newbie ... 저와 함께주십시오.WSDL을 가져 왔습니다. 이제 무엇을해야합니까?

내 VB .NET 프로젝트로 가져올 WSDL 파일이 제공되었습니다. 이 웹 서비스는 관련 웹 서비스 사용 방법을 알려주는 계약입니다. 그것은 내 문제가 오는 곳입니다. 가져온 서비스 참조에 모든 종류의 클래스, 속성, 인터페이스 등을 볼 수 있습니다. "입력으로 X, Y, Z가있는 경우이 함수를 호출하여 W를 반환합니다."

너무 막연하게 들릴 위험이 있는데, 내가 찾고 있어야하는 것은 이걸 어떻게 사용해야하는지 알려줍니다. 어떤 함수를 호출해야하는지, 어떤 클래스에서 호출 할지를 어떻게 알 수 있습니까? WSDL과 함께 제공되는 문서가 필요하거나 WSDL에서이 문서를보고 "이 방법을 사용하는 방법입니다"라고 말하면됩니다.

웹에서 다양한 WSDL 자습서를 읽었으며 기본 이해를 얻었습니다 (제 생각에는 ...?). 나는 어딘가에 뭔가를 놓치고있어. 그리고 나는 정말로 확신한다.

도움 주셔서 감사합니다.

답변

1

WSDL은 사용자에게 SOAP 라이브러리 또는 SOAP 라이브러리와의 통신 방법을 알려줍니다. SOAP 서비스는 거의 모든 것에 대한 데이터를 얻기위한 인터페이스가 될 수 있습니다.

그러나 함수 이름과 매개 변수의 이름이 잘 지정되어 있지 않으면 SOAP 서비스에 보낼 데이터와 응답을 매우 모호하게 나타낼 수 있습니다.

대부분의 경우 문서화해야합니다. 해당 문서를 가져 오거나 서비스 공급자가 실제로 수행하는 작업을 알아야합니다. WSDL은 실제로 사람이 소비하기위한 것이 아닙니다. 비록 자신 만의 XML을 작성한다면, 그렇습니다. WSDL에주의를 기울일 필요가 있습니다. 라이브러리에서 XML을 작성하는 경우에는 일반적으로 WSDL과 함께 작동하여 XML을 구조화하고 응답을 읽는 방법을 찾습니다.

+0

WSDL 가져 오기와 함께 제공되는 많은 클래스, 함수 등이 있습니다. 어떤 것이 필요하며 알 수 없습니까? 웹상의 다양한 튜토리얼에서 생성 된 클래스 또는 WSDL 자체에서이를 말할 수 있어야합니다. 그렇지 않으면 필자에게 필요한 문서가 제공되어야합니다. –

+0

당신이 그것을 알아 냈기 때문에 기뻐요! WSDL과 일치하지 않는 문서의 비참한 경험을했습니다. 서비스 공급자는 서비스를 계속 업데이트했지만 문서를 업데이트하지 못했습니다. –

2

생성 된 클래스는 사용하기가 쉽습니다.

기본적으로 하나의 클라이언트 클래스가 있고 WSDL에 선언 된 각 엔드 포인트/연산에 대해 하나의 메소드가 있습니다.
또한 XSD 부분에 정의 된 각 복합 유형 (조작 입력 arg 오브젝트 및 출력 결과 오브젝트)마다 하나의 클래스가 있어야합니다.

그러면 다음과 같은 방식으로 WS를 호출 할 수 있습니다 (단순화 된).

Try 
    Dim service As New MyServiceRef.MyServiceClient() 
    service.Open() 

    Dim output As MyServiceRef.myCallResponse 
    Dim args As New MyServiceRef.myCallRequest 

    args.arg1 = 1 
    args.arg2 = "A" 

    output = service.myCallRequest(args) 
    ... 
Catch ex As Exception 
    treat (ex) 
End Try 
-1

웹 서비스의 참조를 추가하면 서버에서 웹 메소드를 호출 할 수있는 프록시가 만들어집니다. Here은 VB.NET에서 웹 서비스를 사용하기위한 간단한 자습서입니다

+0

이 링크에는이 이미지를 이해하는 데 중요한 모든 이미지가 없습니다. –

+0

위의 링크는 CodeSearch 기사의 개인 사본입니다 : http://www.codeproject.com/Articles/3783/Using-a-Web-Service-in-VB-NET –

관련 문제