Я только сейчас начал изучать веб-сервисы. Я не могу понять использование атрибута xmlns:soap элемента SOAP. Спасибо.
xmlns: атрибут мыла элемента SOAP
Ответы (3)
Эти атрибуты «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. Оба могут использоваться в одном и том же документе, без двусмысленности в отношении того, что есть что.
Судя по уровню вашего вопроса (пожалуйста, не обижайтесь), похоже, вы новичок в 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
Эта цитата из спецификаций W3C SOAP< /a> здесь тоже должно помочь:
Приложению SOAP СЛЕДУЕТ включать правильное пространство имен SOAP для всех элементов и атрибутов, определенных SOAP в сообщениях, которые оно генерирует. Приложение SOAP ДОЛЖНО иметь возможность обрабатывать пространства имен SOAP в сообщениях, которые оно получает. Он ДОЛЖЕН отбрасывать сообщения с неверными пространствами имен (см. раздел 4.4) и МОЖЕТ обрабатывать сообщения SOAP без пространств имен SOAP, как если бы они имели правильные пространства имен SOAP.
SOAP определяет два пространства имен (дополнительную информацию о пространствах имен XML см. в [8]):
• Конверт SOAP имеет идентификатор пространства имен "http://schemas.xmlsoap.org/soap/envelope/. а>"
• Сериализация SOAP имеет идентификатор пространства имен "http://schemas.xmlsoap.org/soap/encoding/. а>"
Сообщение SOAP НЕ ДОЛЖНО содержать объявление типа документа. Сообщение SOAP НЕ ДОЛЖНО содержать инструкции по обработке. [7]