xmlns: атрибут soap элемента SOAP - PullRequest
5 голосов
/ 16 мая 2009

Я только сейчас начал изучать веб-сервисы. Я не могу понять использование атрибута xmlns: soap элемента SOAP. Спасибо.

Ответы [ 3 ]

11 голосов
/ 16 мая 2009

Эти атрибуты "xmlns:" не относятся к SOAP. Они определяют префиксы, которые впоследствии будут использоваться для ссылки на пространства имен XML. Пример:

<DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" 
    DTS:ExecutableType="SSIS.Package.2">

Это определяет DTS как префикс, который означает пространство имен "www.microsoft.com/SqlServer/Dts". Затем он ссылается на атрибут ExecutableType из этого пространства имен.

Пространства имен XML выполняют ту же работу, что и пространства имен в C # или C ++. Они предоставляют пространство для определения имен, чтобы имена из одного пространства имен не конфликтовали с именами в другом. Вы можете определить свой собственный атрибут «ExecutableType», и он может означать нечто совершенно отличное от того, который определил Microsoft. И то, и другое можно было бы использовать в одном и том же документе, без какой-либо двусмысленности относительно того, что было.

3 голосов
/ 18 мая 2009

Исходя из уровня вашего вопроса (пожалуйста, не обижайтесь), кажется, что вы новичок в XML, а также в веб-сервисах на основе XML. Джон Сондерс правильно описывает пространства имен XML и их использование. Если вы хотите лучше понять XML и веб-службы на основе XML, я рекомендую вам начать с учебника по XML для W3 Schools (в частности, с раздела о пространствах имен XML).

Учебное пособие находится по адресу: http://www.w3schools.com/xml/default.asp

Раздел о пространствах имен XML расположен по адресу: http://www.w3schools.com/xml/xml_namespaces.asp

1 голос
/ 16 мая 2009

Эта цитата из спецификаций W3C SOAP также должна помочь:

SOAP-приложение ДОЛЖНО включать правильное пространство имен SOAP для всех элементов и атрибуты, определенные SOAP в сообщения, которые он генерирует. МЫЛО заявка ДОЛЖНА быть в состоянии обработать Пространства имен SOAP в сообщениях, которые он получает. ДОЛЖЕН отбрасывать сообщения которые имеют неправильные пространства имен (см. раздел 4.4), и он МОЖЕТ обрабатывать SOAP сообщения без пространств имен SOAP как хотя у них было правильное мыло Пространства имен.

SOAP определяет два пространства имен (см. [8] для получения дополнительной информации о XML Пространства имен):

• Конверт SOAP имеет пространство имен идентификатор «http://schemas.xmlsoap.org/soap/envelope/"

• Сериализация SOAP имеет идентификатор пространства имен «http://schemas.xmlsoap.org/soap/encoding/"

SOAP-сообщение НЕ ДОЛЖНО содержать Декларация типа документа. МЫЛО сообщение не должно содержать обработку Инструкции. [7]

...