XSD와 WSDL의 차이점은 무엇입니까


178

XML Schema과 의 차이점은 무엇입니까 WSDL?

내가 발견 한 차이점은 WSDL포함 XSD하고 안에는 WSDL작업을 선언 할 수 있지만 안에는 선언 할 수 없다는 것입니다 XSD. 그 맞습니까?

답변:


177

XSD는 XML 문서를 구성하는 방법에 대한 정의 인 스키마를 정의합니다. 주어진 XML 문서가 유효한지 확인하고 스키마에 배치 한 규칙을 따르는 지 확인할 수 있습니다.

WSDL은 웹 서비스를 설명하는 XML 문서입니다. 사용 가능한 오퍼레이션과 해당 오퍼레이션으로 전송하기 위해 데이터를 구성하는 방법을 보여줍니다.

WSDL 문서에는 WSDL 문서에 넣을 수있는 내용을 보여주는 관련 XSD가 있습니다.


15
파올로 답변이 맞습니다. 그냥 강화하십시오. WSDL은 실제로 XML이므로 XSD를 가지고있을 수도 있고 없을 수도 있습니다. 연관된 XSD는 별도의 파일 일 수 있으며 WSDL로 가져 오거나 <WSDL : types> 태그를 사용하여 전체 XSD를 WSDL 파일 자체에 인라인으로 임베드 할 수 있습니다. 자세한 내용은 ibm.com/developerworks/webservices/library/ws-tip-imports
supernova

그것들이 거의 두 가지로 분리되어 있다면 왜 Netbeans와 같은 웹 서비스를 만들 때 ?xsd=1자동으로 URL을 얻 습니까?
CodyBugstein

212

WSDL (Web Services Description Language)은 서비스와 서비스 운영에 대해 설명합니다. 서비스 란 무엇이며 서비스가 제공하는 메소드, 이러한 메소드에는 어떤 종류의 매개 변수 및 리턴 값이 있습니까?

서비스의 동작에 대한 설명입니다. 기능입니다.

XSD (Xml Schema Definition)는 해당 서비스 메소드에 의해 교환되는 복합 데이터 유형의 정적 구조를 설명합니다. 유형, 필드, 해당 필드에 대한 제한 (예 : 최대 길이 또는 정규식 패턴) 등을 설명합니다.

데이터 유형에 대한 설명이며 따라서 서비스의 정적 속성입니다. 데이터에 관한 것입니다.


25
이것은 WSDL의 맥락에서 XSD를 설명하는 훨씬 더 나은 대답이며 둘 사이의 차이점만은 아닙니다. 또한 XSD 정의는 <wsdl : types> 태그에서 WSDL의 일부입니다.
airboss

복잡한 데이터 정의가 필요하지 않으면 XSD없이 WSDL을 가질 수 있습니까?
esseara

61

XSD : XML 스키마 정의.

XML : 확장 가능한 마크 업 언어.

WSDL : 웹 서비스 정의 언어.

나는 기술적 인 용어로 대답하지 않을 것입니다. 나는 초보자에게이 설명을 목표로하고있다.

서로 다른 두 가지 기술을 사용하여 개발 된 서로 다른 두 응용 프로그램간에 통신하기가 쉽지 않습니다. 예를 들어 시카고에있는 회사는 Java를 사용하여 웹 응용 프로그램을 개발하고 뉴욕에있는 다른 회사는 C #으로 응용 프로그램을 개발할 수 있으며이 두 회사가 정보를 공유하기로 결정하면 XML이 등장합니다. 서로 다른 기술을 사용하여 개발 된 서로 다른 두 응용 프로그램간에 데이터를 저장하고 전송하는 데 도움이됩니다. 참고 : 프로그래밍 언어에만 국한되지는 않습니다. 서로 다른 두 앱 간의 정보 전송에 대해 조사하십시오.

XSD는 스키마 정의입니다. 즉, 사용자에게 그러한 스키마에서 XML을 개발하도록 지시하는 것입니다. 아래 이미지를 참조하여 "시작시로드"요소와 정수 유형을 자세히 살펴보십시오. XSD 이미지에서 "시작시로드"에 대한 정수 값임을 의미하므로 사용자가 XML을 만들 때 해당 특정 요소에 int 값을 전달했습니다. XSD는 스키마와 스타일이지만 XML은 다른 응용 프로그램이나 시스템과 통신하는 형식입니다. XSD를보고 XML을 만들어야합니다. 그렇지 않으면 다른 기술로 개발 된 다른 응용 프로그램이나 시스템과 통신하지 않습니다. 시카고에있는 회사는 텍사스에있는 회사가 주어진 XSD 형식으로 XML을 작성하거나 생성 할 수있는 XSD 템플리트를 제공합니다. 텍사스에있는 회사가 XSD에 언급 된 규칙이나 스키마를 준수하지 못하면 시카고에있는 회사로부터 정확한 정보를 기대할 수 없습니다. 위에서 언급 한 것과 같은 것을 코딩하면서 아마추어 또는 초보자가 알아야 할 위의 이야기 이후에 할 일이 너무 많습니다. 나중에 어떤 일이 발생하는지 알고 싶다면 실제로 웹 서비스를 개발 한 선임 소프트웨어 엔지니어와 함께있는 것이 좋습니다. 다음은 WSDL입니다. 이미지를 따라 WSDL이 어디에 들어갈 지 알아보십시오. 나중에 어떤 일이 발생하는지 알고 싶다면 실제로 웹 서비스를 개발 한 선임 소프트웨어 엔지니어와 함께있는 것이 좋습니다. 다음은 WSDL입니다. 이미지를 따라 WSDL이 어디에 들어갈 지 알아보십시오. 나중에 어떤 일이 발생하는지 알고 싶다면 실제로 웹 서비스를 개발 한 선임 소프트웨어 엔지니어와 함께있는 것이 좋습니다. 다음으로 WSDL이 나온다. 이미지를 따라 가서 WSDL이 어디에 들어가는 지 알아 내려한다.

*************** ======== 아래 부분 XML 이미지입니다. ========== ************ *** XML 이미지 부분

*************** ======== 아래 부분 XSD 이미지입니다. ========== ************ ***

XSD 이미지 부분

*************** ======== 부분 WSDL 이미지는 다음과 같습니다. ======= *************

WSDL 이미지 부분

Book이라는 웹 서비스를위한 샘플 WSDL을 만들어야했습니다. 이는 XSD이지만 웹 서비스에 매우 특수하므로 WSDL (Web Service Definition Language)이라고해야합니다. 위의 WSDL (즉, XSD)은 Book.java라는 클래스에 대해 작성되었으며 SOAP 서비스를 작성했습니다. SOAP 웹 서비스가 작성하는 방법은 다른 주제입니다. 하나는 Java 클래스를 작성해야하며이를 실행하기 전에 웹 서비스로 작성해야 사용자는 Axis2 API가 설치되어 있고 웹 서비스를 호스트하는 Tomcat이 있는지 확인해야합니다.

서비스 제공 업체 (타인 (클라이언트)가 시스템의 정보 또는 데이터에 액세스 할 수 있도록하는 서비스 제공 업체)는 실제로 클라이언트 (서비스 제공 업체 정보 또는 데이터를 사용해야하는 서비스)가 웹 서비스를 통해 데이터에 대한 완전한 액세스를 제공합니다. 지구는 외부인을 위해 그들의 데이터베이스를 기꺼이 공개하고자합니다. 우리 회사와 마찬가지로 웹 서비스를 통해 제품에 대한 정보를 제공하기로 결정했기 때문에 XSD 템플릿을 작성하고 우리와 함께 일하려는 일부 고객에게 전달해야했습니다. 주어진 XSD를 완전히 사용하고 웹 서비스 호출을 작성하여 서비스 제공자로부터 데이터를 가져 와서 적절한 요구 사항으로 리턴 된 데이터를 변환 한 후 웹 사이트에 제품에 대한 데이터 또는 정보를 표시하거나 공개해야합니다. 간단한 예는 FLIGHT Ticket Reservation입니다. 항공사는 제 3자가 티켓 판매를 위해 자신의 사이트에서 비행 데이터를 사용할 수 있도록합니다. 그러나 다시 한 번 더 많은 것이 있으며, 타사 항공권 담당자가 티켓을 판매하도록 허용하지 않고 동기화 및 보안이 설정됩니다. 동기화가 없으면 1 명 이상의 고객이 다양한 소스에서 동일한 항공권을 구매할 확률이 100 %입니다.

전문가가 내 답변에 기여하기를 바랍니다. 초보자 나 초보자가 XML, XSD를 이해 한 다음 웹 서비스에서 작업하기 란 정말 어렵습니다.


적어도 그것은 나에게 이러한 기술이 작동하는 방법의 힌트 준
MbaiMburu

10

XSD는 문서의 유효성을 검사하고 XML에 대한 메타 데이터를 포함하는 반면 WSDL은 웹 서비스 위치 및 작업을 설명합니다.


3

XSD (XML 스키마 정의)는 XML 문서에서 요소를 정의합니다. xml 문서의 요소가 컨텐츠를 배치 할 설명을 준수하는지 확인하는 데 사용할 수 있습니다. wsdl은 웹 서비스를 설명하는 특정 유형의 XML 문서입니다. WSDL 자체는 XSD를 준수합니다.


1

WSDL-웹 서비스가 제공하는 Methods와 같은 Operation을 포함하며 이러한 메소드는 int, float 등과 같은 간단한 데이터 유형과 객체, 벡터, 배열 등과 같은 복잡한 데이터 유형을 허용하므로이를 xml 데이터 유형 xsd에 맵핑하십시오. 익숙한. xsd를 기반으로 다른 플랫폼에서 웹 서비스에 액세스하려는 사용자는 데이터를 적절하게 제공 할 수 있습니다.

웹 서비스의 기본 사항에 대해서는 ayazroomy-java.blogspot.com을 참조하십시오.


0

XSD는 WSDL 파일의 스키마입니다. XSD에는 WSDL에 대한 데이터 유형이 있습니다. XSD로 선언 된 요소는 WSDL 파일에서 사용할 수 있습니다. 웹 서비스 WSDL이 유효한지 확인하기 위해 WSSD를 XSD와 대조하여 점검 할 수 있습니다.


0

누군가가 비유를 찾고 있다면이 답변이 도움이 될 수 있습니다.

WSDL은 mysql의 'SHOW TABLE STATUS'명령과 같습니다. XML에 포함되어야하는 모든 요소 (요청 유형, 응답 유형, 요청에 대한 URL 형식 등)를 정의합니다. 1) 요청 또는 응답의 이름 2) 입력으로 취급되어야하는 것, 출력으로 취급되어야하는 것

XSD는 mysql의 DESCRIBE 명령과 같습니다. 모든 변수와 유형, 요청 및 응답에 포함 된 내용을 알려줍니다.


mysql의 DESC가 정렬 순서에 사용되지 않습니까? 그러나 DESCRIBE는 더 비슷합니다.
Mangs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.