2009-05-16 10 views
5

Właśnie zacząłem uczyć się usług sieciowych. Nie rozumiem używania xmlns: soap atrybut elementu SOAP. Dzięki.xmlns: atrybut mydła elementu SOAP

+0

masz kodu? to część nagłówka SOAP, o której myślisz, czy widziałeś to w elemencie wiadomości? –

+0

@Littlegeek -> Przepraszam, mam tylko część teoretyczną w mojej książce, więc bardzo trudno jest zrozumieć nawet proste pojęcia bez programów. – Warrior

Odpowiedz

11

Te atrybuty "xmlns:" nie są specyficzne dla protokołu SOAP. Określają prefiksy, które później będą używane w odniesieniu do przestrzeni nazw XML. Przykład:

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

Określa DTS jako przedrostek oznacza to, że "namespace" www.microsoft.com/SqlServer/Dts. Następnie odwołuje się do atrybutu ExecutableType z tej przestrzeni nazw.

Przestrzenie nazw XML wykonują tę samą pracę, co przestrzeń nazw w języku C# lub C++. Zapewniają przestrzeń do definiowania nazw, aby nazwy z jednej przestrzeni nazw nie kolidowały z nazwami w innej. Można zdefiniować własny atrybut "ExecutableType", co może oznaczać coś zupełnie innego niż to zdefiniowane przez Microsoft. Obie mogły być użyte w tym samym dokumencie, bez żadnej dwuznaczności co do którego.

1

cytat z W3C SOAP Spec powinno pomóc tutaj zbyt

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

Aplikacja SOAP powinna zawierać właściwą nazw SOAP na wszystkich elementach i atrybuty zdefiniowane przez SOAP w wiadomości, że generuje . Aplikacja SOAP MUSI być w stanie przetworzyć obszary nazw SOAP w komunikatach, które otrzymuje od . Musi odrzucić komunikaty, które mają niepoprawne przestrzenie nazw (zobacz sekcja 4.4) i MOŻE przetwarzać komunikaty SOAP bez przestrzeni nazw SOAP jako , mimo że miały prawidłowe przestrzenie nazw SOAP .

SOAP definiuje dwie przestrzenie nazw (patrz [8] uzyskać więcej informacji na temat XML przestrzeni nazw):

• The kopercie SOAP ma namespace identyfikator "http://schemas.xmlsoap.org/soap/envelope/" • szeregowanie SOAP ma identyfikator namespace "http://schemas.xmlsoap.org/soap/encoding/" Komunikat SOAP NIE MOŻE zawierać deklaracji typu dokumentu typu . Komunikat SOAP NIE MOŻE zawierać instrukcji Przetwarzania . [7]

2

Na podstawie poziomu twojego pytania (proszę się nie obrazić), brzmi to tak, jakbyś był nowicjuszem zarówno w usługach XML, jak i opartych na XML. John Saunders poprawnie opisuje przestrzenie nazw XML i ich zastosowania. Jeśli szukasz lepszego zrozumienia usług internetowych opartych na XML i XML, polecam zacząć od samouczka XML W3 Schools (w szczególności sekcji dotyczącej przestrzeni nazw XML).

Tutorial znajduje się pod adresem: http://www.w3schools.com/xml/default.asp

Sekcja na przestrzeni nazw XML znajduje się pod adresem: http://www.w3schools.com/xml/xml_namespaces.asp

Powiązane problemy