яка різниця між XSD і WSDL


178

Яка різниця між та XML SchemaтаWSDL ?

Різниця, яку я помітив, полягає в тому, що WSDLмістить операції, XSDі WSDLми можемо оголошувати операції, але не в XSD. Це правильно?

Відповіді:


177

XSD визначає схему, яка є визначенням структури XML-документа. Ви можете використовувати його, щоб перевірити, чи даний документ XML є дійсним і чи дотримується правил, викладених у схемі.

WSDL - це XML-документ, який описує веб-службу. Він показує, які операції доступні та як дані мають бути структуровані для надсилання до цих операцій.

Документи WSDL мають пов'язаний XSD, який показує, що справедливо для розміщення в документі WSDL.


15
Відповідь Паоло правильна. Просто посилення. Оскільки WSDL насправді XML і може мати, а може і не мати XSD для перевірки його структури. Асоційований XSD може бути окремим файлом і імпортований у WSDL або повний XSD може бути вбудований вбудований в самий файл WSDL, використовуючи <WSDL: types> tag .Добре детальніше ibm.com/developerworks/webservices/library/ws-tip-imports
supernova

Якщо вони в значній мірі дві окремі речі, чому так, коли я створюю веб-сервіс, наприклад, в Netbeans, я отримую ?xsd=1URL-адресу автоматично?
CodyBugstein

212

WSDL (Мова опису веб-служб) описує вашу послугу та її операції - як називається служба, які методи вона пропонує, які параметри та значення повернення мають ці методи?

Це опис поведінки служби - це функціональність.

XSD (визначення схеми Xml) описує статичну структуру складних типів даних, що обмінюються цими сервісними методами. Він описує типи, їхні поля, будь-яке обмеження для цих полів (наприклад, максимальна довжина чи шаблон регулярного виразів) тощо.

Це опис типів даних і, отже, статичних властивостей послуги - мова йде про дані.


25
Це набагато краща відповідь, що пояснює XSD в контексті WSDL, а не лише різницю між ними. Щоб додати, визначення XSD є частиною WSDL у тезі <wsdl: types>.
airboss

Отже, я міг би мати WSDL без XSD, якщо мені не потрібно складне визначення даних?
esseara

61

XSD: Визначення схеми XML.

XML: Мова розмітки eXtensible.

WSDL: Мова визначення веб-служби.

Я не збираюся відповідати в технічному плані. Я націлюю це пояснення на початківців.

Спілкуватися між двома різними додатками, розробленими за двома різними технологіями, непросто. Наприклад, компанія в Чикаго може розробити веб-додаток за допомогою Java, а інша компанія в Нью-Йорку може розробити додаток на C #, і коли ці дві компанії вирішили поділитися інформацією, тоді XML з'явиться на світ. Це допомагає зберігати та транспортувати дані між двома різними програмами, розробленими з використанням різних технологій. Примітка. Це не обмежується мовою програмування. Просимо досліджувати транспортування інформації між двома різними програмами.

XSD - це визначення схеми. Маючи на увазі те, що я маю на увазі, це підказує користувачам розробляти свої XML у такій схемі. Будь ласка, дивіться нижче зображення, і, будь ласка, уважно перегляньте елемент "load-on-startup" та його тип, який є цілим числом. На зображенні XSD ви бачите, що це означає ціле значення для "завантаження при запуску", а отже, коли користувач створив свій XML, вони передали значення int саме цьому елементу. Нагадування, XSD - це схема і стиль, тоді як XML - це форма для спілкування з іншим додатком або системою. Треба бачити XSD і створювати XML таким чином, інакше він не буде спілкуватися з іншим додатком або системою, розробленою за іншою технологією. Компанія в Чикаго надає XSD-шаблон для компанії в Техасі, щоб написати або генерувати свої XML у заданому форматі XSD. Якщо компанія в Техасі не дотримувалася тих правил або схем, згаданих у XSD, то від компанії в Чикаго неможливо очікувати правильної інформації. Після вищезгаданої історії так багато зробити, що любитель або новачок повинні знати, кодуючи щось таке, як я сказав вище. Якщо ви дійсно хочете дізнатися, що станеться пізніше, то краще посидіти зі старшими інженерами-програмістами, які насправді розробили веб-служби. Далі йде WSDL, будь ласка, слідкуйте за зображеннями та спробуйте зрозуміти, де WSDL вміститься. Якщо ви дійсно хочете дізнатися, що станеться пізніше, то краще посидіти зі старшими інженерами-програмістами, які насправді розробили веб-сервіси. Далі йде WSDL, будь ласка, слідкуйте за зображеннями та спробуйте зрозуміти, де WSDL вміститься. Якщо ви дійсно хочете дізнатися, що станеться пізніше, то краще посидіти зі старшими інженерами-програмістами, які насправді розробили веб-сервіси. Далі йде WSDL, будь ласка, слідкуйте за зображеннями та спробуйте зрозуміти, де WSDL вміститься.

*************** ======== Нижче часткове зображення XML ========== ************ *** Зображення XML часткове

*************** ======== Нижче наведено часткове зображення XSD ========== ************ ***

Зображення XSD часткове

*************** ======== Нижче наведено часткове зображення WSDL ======= *************

Зображення WSDL часткове

Мені довелося створити зразок WSDL для веб-сервісу під назвою Book. Зауважте, що це XSD, але ви повинні назвати його WSDL (мова визначення веб-служби), оскільки він дуже специфічний для веб-служб. Вищенаведений WSDL (або іншими словами XSD) створений для класу під назвою Book.java і він створив службу SOAP. Як веб-сервіс SOAP створив це - інша тема. Треба написати клас Java і перед його виконанням створити як веб-сервіс, користувач повинен переконатися, що Axis2 API встановлений, і Tomcat для розміщення веб-сервісу.

Оскільки сервіс (той, хто дозволяє іншим (клієнтам) отримувати доступ до інформації або даних зі своїх систем) фактично надає клієнту (той, кому потрібно використовувати інформацію або дані сервісного сервера) повний доступ до даних через Веб-сервіс, тому що жодна компанія на Земля готова викрити свою Базу даних для сторонніх людей. Як і моя компанія, вирішила надати деяку інформацію про товари через Веб-сервіси, отже, нам довелося створити шаблон XSD та передати мало хто з наших клієнтів, які хочуть працювати з нами. Вони повинні написати якийсь код, щоб повною мірою використати даний XSD та здійснити виклики веб-служби, щоб отримати дані від сервісного сервера та перетворити повернені дані у відповідні вимоги, а потім відобразити або опублікувати дані чи інформацію про продукт на своєму веб-сайті. Простим прикладом може бути бронювання авіаквитків. Авіакомпанія дозволить третім сторонам використовувати дані про рейси на своєму сайті для продажу квитків. Але знову-таки тут є набагато більше, це просто не давати стороннім авіарейсовим агентам продавати квитки, буде синхронізація та безпека. Якщо синхронізації немає, то на 100% більше шансів, що більше 1 клієнта можуть придбати такий же квиток на рейс з різних джерел.

Сподіваюся, що експерти допоможуть зробити мою відповідь. Новачок або новачок дійсно важко зрозуміти XML, XSD і потім працювати над веб-службами.


принаймні, це дало мені підказку, як працюють ці технології
MbaiMburu

10

XSD має підтвердити документ і містить метадані про XML, тоді як WSDL - це опис розташування та операцій веб-сервісу.


3

XSD (визначення схеми XML) визначає елемент у документі XML. З його допомогою можна перевірити, чи дотримуються елементи в XML-документі опису, в який повинен розміщуватися вміст. Хоча wsdl - це специфічний тип документа XML, який описує веб-службу. WSDL сама дотримується XSD.


1

WSDL - Він містить Операцію, таку як Методи, які надає веб-сервіс. І цей метод може приймати прості типи даних, такі як int, float тощо та складні типи даних, такі як об'єкти, вектори, масиви тощо. б / в. і на основі xsd користувач, який хоче отримати доступ до веб-сервісу з іншої платформи, може надати дані належним чином.

Перегляньте: ayazroomy-java.blogspot.com, щоб прочитати основи веб-сервісу.


0

XSD - схема для файлу WSDL. XSD містять типи даних для WSDL. Елемент, оголошений у XSD, дійсний для використання у файлі WSDL. Ми можемо перевірити WSDL проти XSD, щоб перевірити веб-сервіс WSDL є дійсним чи ні.


0

Якщо хтось шукає аналогію, ця відповідь може бути корисною.

WSDL - це як команда "SHOW TABLE STATUS" в mysql. Він визначає всі елементи (тип запиту, тип відповіді, формат URL-адреси для звернення до звернення тощо), які повинні входити до XML. Під визначенням я маю на увазі: 1) Назви запиту чи відповіді 2) Що слід розглядати як вхідне, що слід розглядати як вихідний.

XSD - це як DESCRIBE команда в mysql. Він розповідає, що містять усі змінні та їх типи, запит та відповідь.


Чи не DESC в mysql використовується для порядку сортування? ОПИС, однак, це більше подобається.
Мангс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.