Вопросы относительно метаданных веб-сервиса (или WCF) - PullRequest
1 голос
/ 16 марта 2011

Это может показаться глупым вопросом, но все же я хотел бы прояснить это:

  1. Что включают в себя метаданные веб-службы и зачем нужны метаданные?
  2. Содержит ли оно что-то другое / отличное от операций, предоставляемых веб-службой?
  3. Где мы определяем / упоминаем метаданные веб-службы при создании веб-службы
  4. Содержит ли WSDL, сгенерированный из веб-службы, метаданные веб-службы?
  5. Если есть возможность скрыть метаданные от клиентов, значит ли это, что это не обязательно иметь?

1 Ответ

2 голосов
/ 16 марта 2011

Метаданные веб-службы описывают службу, например, это позволяет другим машинам (или пользователям) выяснить

  • какие методы предлагает сервис, каковы их имена и параметры
  • какие структуры данных используются для вызова метода службы и какие данные они возвращают

Да, метаданные необязательны - если вы «скрываете» их или не открываете их, то третье лицо не может «обнаружить» и использовать ваш сервис - вам придется предоставить им другие средства для использования вашего сервиса (вы можете отправить им распечатанную документацию, вы можете отправить сгенерированный WSDL / XSD в виде файловых вложений по электронной почте или как угодно).

В WCF вы можете довольно легко контролировать, какой тип метаданных предоставляется (если есть) - вы можете включить / отключить метаданные службы в целом, вы можете определить, что клиенты могут использовать только собственный протокол обмена метаданными WCF (MEX) или вы также можете предоставить свой WSDL (либо динамически сгенерированный из запущенной службы, либо из внешнего статического файла) заинтересованным абонентам.

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

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