2009-05-16 21 views
5

Acabo de empezar a aprender servicios web. No puedo entender el uso del atributo xmlns: soap del elemento SOAP. Gracias.xmlns: atributo soap del elemento SOAP

+0

¿Tiene alguna código? ¿Es la parte del encabezado SOAP en la que estás pensando o has visto esto en un elemento del mensaje? –

+0

@Littlegeek -> Disculpa, solo tengo una parte teórica en mi libro, por lo que es muy difícil entender incluso los conceptos simples sin programas. – Warrior

Respuesta

11

Los atributos "xmlns:" no son específicos de SOAP. Definen prefijos que luego se usarán para referirse a espacios de nombres XML. Ejemplo:

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

Esto define DTS como un prefijo que significa el espacio de nombres "www.microsoft.com/SqlServer/Dts". A continuación, se refiere al atributo ExecutableType de ese espacio de nombres.

Los espacios de nombres XML hacen el mismo trabajo que un espacio de nombres en C# o C++. Proporcionan un espacio para definir nombres, de modo que los nombres de un espacio de nombres no entren en conflicto con los nombres en otro. Podría definir su propio atributo "ExecutableType" y podría significar algo totalmente diferente al que definió Microsoft. Ambos podrían usarse en el mismo documento, sin ambigüedades sobre cuál fue cuál.

1

cita del W3C SOAP de Spec debería servir también de ayuda

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383497

Una aplicación de jabón debe incluir la espacio de nombres adecuado jabón en todos los elementos y atributos definidos por SOAP en mensajes que genera . Una aplicación SOAP DEBE poder procesar espacios de nombres SOAP en mensajes que reciba . DEBE descartar mensajes que tengan espacios de nombres incorrectos (consulte sección 4.4) y PUEDE procesar mensajes SOAP sin espacios de nombres SOAP como aunque tengan los espacios de nombres SOAP correctos.

SOAP define dos espacios de nombres (véase [8] para más información sobre XML espacios de nombres):

• El sobre jabón tiene la identificador de nombre "http://schemas.xmlsoap.org/soap/envelope/" • La serialización jabón tiene el identificador espacio de nombres "http://schemas.xmlsoap.org/soap/encoding/" Un mensaje SOAP NO DEBE contener una declaración de tipo de documento . Un mensaje SOAP NO DEBE contener Procesamiento Instrucciones. [7]

2

Según el nivel de su pregunta (no se ofenda), parece que es nuevo en XML y en servicios web basados ​​en XML. John Saunders describe correctamente los espacios de nombres XML y sus usos. Si busca una mejor comprensión de los servicios web basados ​​en XML y XML, le recomiendo que comience con el tutorial XML de W3 Schools (específicamente la sección sobre espacios de nombres XML).

El tutorial está ubicada en: http://www.w3schools.com/xml/default.asp

La sección sobre espacios de nombres XML se encuentra en: http://www.w3schools.com/xml/xml_namespaces.asp