ツリー形式により、SOAP メッセージの主な部分に簡単にアクセスすることができます。
以下は、SOAP ドメイン・ツリーを表した図です。
Body サブツリーの内容は、WSDL スタイルに応じて異なります。
MTOM メッセージの添付は、SOAP 内容の一部としてインラインで、ベース 64 表記されることに注意してください。
出力メッセージは、対応するネーム・スペース内の任意のエレメントを修飾するために、ここで定義されたネーム・スペース接頭部を使用します。
SOAP.Context が入力ノードで最初に作成されていた場合、必要とされるネーム・スペース接頭部定義すべてが、既にそこに含まれている可能性があります。
SOAP.Context が存在しない場合、または出力メッセージが追加のネーム・スペースを使用する場合、SOAP パーサーは必要とされる任意のネーム・スペース接頭部を自動的に生成します。
別の方法として、独自のネーム・スペース接頭部を指定することができます。1 つの重要な例外を除いて、ネーム・スペース接頭部の特定な名前は、メッセージの意味に影響を及ぼしません。 メッセージの内容に qualified name が含まれる場合、そのメッセージは一致するネーム・スペース接頭部定義を含んでいる必要があります。
-- Build SOAP Fault message. Note that as well as defining the correct
-- namespace for the Fault element, it is also necessary to bind the
-- namespace prefix used in the faultcode element (this is set up under
-- SOAP.Context.Namespace)
-- Send back a new user defined SOAP 1.2 fault message
DECLARE soapenv NAMESPACE 'http://www.w3.org/2003/05/soap-envelope';
DECLARE xml NAMESPACE 'http://www.w3.org/XML/1998/namespace';
DECLARE myNS NAMESPACE 'http://myNS';
SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:soapenv = soapenv;
SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:myNS = myNS;
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Code.soapenv:Value = 'soapenv:Receiver';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Code.soapenv:Subcode.soapenv:Value = 'my:subcode value';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Reason.soapenv:Text = 'my Reason string';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Reason.soapenv:Text.(SOAP.Attribute)xml:lang = 'en';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Node = 'my Node string';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Role = 'my Role string';
SET OutputRoot.SOAP.Body.soapenv:Fault.soapenv:Detail.my:Text = 'my detail string';
-- Send back a new user defined SOAP 1.1 fault message
DECLARE soapenv NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
SET OutputRoot.SOAP.Context.Namespace.(SOAP.NamespaceDecl)xmlns:soapenv = soapenv;
SET OutputRoot.SOAP.Body.soapenv:Fault.faultcode = 'soapenv:Receiver';
SET OutputRoot.SOAP.Body.soapenv:Fault.faultstring = 'my fault string';
SET OutputRoot.SOAP.Body.soapenv:Fault.faultactor = 'my fault actor';
SET OutputRoot.SOAP.Body.soapenv:Fault.detail.Text = 'my detail string';
SOAP ドメインのグラフィカル・データ・マップを作成するには、マップの入力または出力、およびその両方として、SOAP ドメイン・ツリー用に提供されている IBM® メッセージを使用してください。 提供されているメッセージについて詳しくは、メッセージ・セット: インポート可能な IBM 提供のメッセージを参照してください。 グラフィカル・データ・マッパーのキャスト・フィーチャーまたはサブマップ・フィーチャーを使用して、SOAP 本体の特定の内容を定義します。 マッピング関数について詳しくは、グラフィカル・データ・マッピング・エディターでのタイプの変換を参照してください。