2009-05-16 7 views
5

私はちょうどWebサービスの学習を始めました。私はxmlns:SOAP要素のsoap属性の使用を理解できません。xmlns:SOAP要素のSOAP属性

+0

あなたは、コードを持っていますか?あなたが考えている、あるいはあなたがメッセージの要素でこれを見たSOAPヘッダー部分ですか? –

+0

@Littlegeek - >申し訳ありませんが、私の本には理論の部分しかありませんので、プログラムなしの単純な概念でさえ理解するのは非常に難しいです。 – Warrior

答えて

11

これらの「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が定義したものとはまったく異なるものを意味する可能性があります。両方とも同じ文書で使用でき、どれがどちらであったかについてあいまいさはありませんでした。

1

W3C SOAP仕様からの引用はここにも役立つはず

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

SOAPアプリケーションは、すべての要素 とそれが生成 メッセージにSOAPで定義された属性の 正しいSOAP名前空間を含むべきです。 SOAP アプリケーションは、 が受け取るメッセージに SOAPネームスペースを処理できなければなりません。正確なSOAPネームスペース( セクション4.4を参照)を持つメッセージ を破棄しなければならず、正しいSOAP 名前空間を持っていても、SOAP というSOAPネームスペースのないメッセージを処理することがあります。

SOAPを定義する2つの名前空間([8]を参照XMLの詳細は 名前空間の ):

SOAPエンベロープ• "http://schemas.xmlsoap.org/soap/envelope/" SOAPのシリアライズ• が 名前空間識別子を持つ名前空間 識別子を持っています "http://schemas.xmlsoap.org/soap/encoding/" SOAPメッセージに ドキュメントタイプ宣言を含めてはならない(MUST NOT)。 SOAP メッセージは処理 命令を含んではいけません。 [7]

2

あなたの質問のレベルに基づいて(嫌がらせをしないでください)、XMLやWebベースのWebサービスの初心者のようです。 John Saundersは、XML名前空間とその使用法を正しく記述しています。 XMLとXMLベースのWebサービスの理解を深めるためには、W3 SchoolsのXMLチュートリアル(具体的にはXML名前空間のセクション)から始めることをお勧めします。 XML名前空間のセクションは次の場所にありhttp://www.w3schools.com/xml/default.asp

チュートリアルは次の場所にあります。http://www.w3schools.com/xml/xml_namespaces.asp