почему SOAP без WSDL? - PullRequest
       4

почему SOAP без WSDL?

11 голосов
/ 09 февраля 2011

Есть ли веская причина для развертывания или использования службы SOAP без использования «файла» WSDL?

Объяснение:

Я нахожусь в ситуации, когдасторонняя организация создала службу SOAP, которая не следует самому файлу WSDL, который они также создали.Я думаю, что я вынужден игнорировать файл WSDL, чтобы использовать этот сервис.Поэтому я исследую, как это сделать.

Что мне действительно интересно, так это то, почему это вообще возможно сделать?Каково намерение?

Это разработано так, чтобы мы могли использовать плохие услуги, сделанные плохими программистами?Конечно, должна быть лучшая причина.Я почти хотел бы, чтобы это было невозможно.Тогда я мог бы потребовать, чтобы они написали это правильно.

1 Ответ

13 голосов
/ 09 февраля 2011

Предполагается, что WSDL является общедоступным документом, описывающим службу SOAP, поэтому в нем описываются сигнатуры всех методов, доступных в службе.

Конечно, могут существовать поставщики услуг, которые хотят представить службуопределенным потребителям, но не желающим делать подпись службы общедоступной, хотя бы для того, чтобы сделать ее немного сложнее для людей, которые не хотят использовать службу, чтобы найти ее или пытаться использовать.Подпись сервисов может, например, предоставлять некоторую личную информацию о схеме их данных.

Но я не вижу никаких оправданий написанию WSDL, который не соответствует сервису.Я бы беспокоился о том, что если они не смогут правильно определить WSDL, каким будет качество сервиса?

Чтобы ответить на другой вопрос, да, вы можете использовать сервис без WSDL.Например, если вы используете Visual Studio, VS может создать для вас прокси-сервер на основе неверного WSDL, а затем настроить его так, чтобы он соответствовал правильным сигнатурам метода службы.Вам просто нужно убедиться, что ваши контракты на данные и контракты на методы в вашем прокси-сервере совпадают с фактическими контрактами на данные сервисов и контрактами на методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...