Я не понимаю, почему веб-сервисы должны быть однозначно идентифицированы с использованием пространств имен - PullRequest
2 голосов
/ 07 ноября 2010

Каждая веб-служба XML нуждается в уникальном пространство имен в порядке для клиента приложения, чтобы отличить его от другие сервисы в сети. От по умолчанию используются веб-службы ASP.Net http://tempuri.org/ для этой цели. Хотя это подходит для XML Web Услуги в разработке, опубликовано услуги должны использовать уникальные, постоянное пространство имен. Ваш XML Web Сервис должен быть идентифицирован пространство имен, которое вы контролируете. За Например, вы можете использовать вашу компанию Интернет-доменное имя как часть Пространство имен. Хотя многие пространства имен выглядят как URL, они не должны указывать на актуальные ресурсы в сети.

Я понимаю, что пространства имен XML помогают нам однозначно определять словари, определенные XML-схемами. Но я не понимаю, почему веб-службы также должны быть однозначно идентифицированы с использованием пространств имен?!

А именно, чтобы клиент мог общаться со службой, ему необходимо знать адрес службы, привязку и договор, и все. Так почему же две разные службы, использующие одно и то же пространство имен, могут вызвать проблемы у клиента, пытающегося использовать эти две службы?

Ответы [ 2 ]

4 голосов
/ 07 ноября 2010

Я понимаю, что пространства имен Xml помогают мы однозначно определяем словари определяется схемами Xml. Но я не в состоянии понять, почему веб-сервисы тоже должны быть однозначно идентифицируется с помощью пространств имен?!

По той же причине. Чтобы однозначно идентифицировать услугу (и).

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

Уникальное пространство имен службы также может использоваться для указания версии конкретной службы.

2 голосов
/ 08 ноября 2010

По сути, вы правы: вы получаете одно пространство имен для каждой службы, поэтому, если вы знаете URL-адрес WSDL (или если у вас есть его копия), пространство имен не особенно полезно.Однако пространство имен является постоянным, а WSDL - нет.В сервисах, где вы ищите расположение WSDL для сервисов - например, UDDI-сервер - пространство имен позволяет узнать, действительно ли вы говорите о сервисе, который вам интересен.

Как всегда, мы используем пространства имен в качестве уровня абстракции, поэтому мы не зависим от расположения WSDL (или, что еще хуже, конечных точек), чтобы узнать, о каком сервисе мы говорим.

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

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