/ / Веб-сервіси - SOAP проти “XML через HTTP” - веб-сервіси, мило, wsdl

Веб-сервіси - SOAP проти “XML через HTTP” - веб-сервіси, мило, wsdl

У мене є загальне запитання щодо веб-служб, і я сподіваюся, що ви зможете допомогти мені вияснити мою плутанину з цього приводу.

Я працюю з веб-службою, яку хост викликає "XML через сервіс HTTP". Вони стверджують, що ця послуга НЕ є послугою SOAP, але відповідь - це відповідь на конверт SOAP. На даний момент послуга викликається через HTML-форму; ось форма HTML і відповідь:

HTML:

<FORM name=TestForm action=http://intranet/TheWSMethod enctype="text/plain" method="POST">
<TEXTAREA name=Data rows=22 cols=91 type="text" style="position: absolute; left: 78; top: 69; width:752px; height:330px"></TEXTAREA>
<INPUT type=xml>
<INPUT type=submit value="Transmit">
</FORM>

RESPONSE - на основі мила?

<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap-env:Server</faultcode>
<faultstring>9001</faultstring>
<faultactor>/TheWSMethod</faultactor>
<detail> ... </detail>
</soapenv:Fault>

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

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

Відповіді:

14 за відповідь № 1

SOAP - це лише спеціалізація XML через HTTP, і ця відповідь, яку ви опублікували, справді виглядає як відповідь SOAP (a Несправність мила власне).

Це виглядає як велике непорозуміння, тому не припускайте, що вони тягнуть вашу ногу. Спробуйте задати своє питання по-іншому.

Що стосується WSDL, якщо це дійсно 100% веб-сервіс SOAP, то врахуйте це не обов'язково мати WSDL для веб-сервісу SOAP.

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

Це означає, що веб-сервіс повинен бути задокументованийінакше ви не знаєте, як написати код, який взаємодіє з веб-службою. Ця документація може бути документом Word або PDF, і ви можете створити клієнта вручну з цього (що передбачає написання великої кількості сантехнічного коду для вашого клієнтського заглушки) АБО документація може бути a WSDL файл, який на відміну від документа PDF або Word може подаватися на інструмент для автоматичного генерування коду сантехніки.

WSDL описує веб-сервіс - і це хороша практика надати його - але веб-служба існує окремо від WSDL.


1 для відповіді № 2

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