层元素的语义。以这种方式连接元素确保了语义上的变化不会被那些不能完全理解它的接收者忽略。如果这个属性要生效,它
必须出现在 消息实例中。(见第 8 节和 节)
4.3 SOAP 体
体元素提供了一个简单的机制,使消息的最终接收者能交换必要的信息。使用体元素的典型情况包括配置 请求和错
误报告。体元素编码为 封装元素的直接子元素。如果已经有一个头元素,那么体元素必须紧跟在头元素之后,否则它必
须是 封装元素的第一个直接子元素。体元素的所有直接子元素称作体条目,每个体条目在 体元素中编码为一个独
立的元素。条目的编码规则如下:
一个条目由它的元素全名(包括名域 和局部名)确定。 体元素的直接子元素可能是名域限制的。
*2)/4521$A.* 属性可能用来指示条目(见 节)的编码方式。
定义了一个 ,>.$ 条目用来报告错误信息。(见 节)
4.3.1 SOAP 头和体的关系
虽然头和体定义为独立的元素,它们实际上是有关系的。体条目和头条目的关系如下:体条目在语义上等同于 ,)$/0 属性为缺
省值且 +>($24*0($,24 属性值为的头条目。不使用 ,)$/0 属性则表示缺省的 ,)$/0。(见 节)
4.4 SOAP 错误
错误元素用于在 消息中携带错误和(或)状态信息。如果有 错误元素,它必须以以体条目的方式出现,并
且在一个体元素中最多出现一次。 错误元素定义了以下四个子元素:
D,>.$)/4*
D,>.$)/4* 元素给软件提供了一个识别此错误的算法机制。 错误元素必须有 D,>.$)/4* 子元素,并且它的值
必须是一个合法的名(在E节定义)。 定义一些 D,>.$)/4* 描述基本的 错误(见 节)。
D,>.$($0521
D,>.$($0521 元素提供了一个错误解释,而不是为了软件处理。D,>.$($0521 元素类似于 中定义J见,第
节)的L*,(/2#0,(*L。 错误元素必须有 D,>.$($0521 子元素,并且它应该提供一些错误本质的解释信息。
D,>.$,)$/0
D,>.$,)$/0 元素提供了在消息路径上是谁导致了错误发生的信息(见第 节)。它类似于 ,)$/0 属性(见
节),只是 ,)$/0 指的是头条目的目的地,D,>.$,)$/0 指的是错误的来源。D,>.$,)$/0 属性的值是用
来区分错误来源的 。不是 消息的最终目的地的应用程序必须在 ,>.$ 元素中包含 D,>.$,)$/0 元
素。消息的最终目的地可以使用 D,>.$,)$/0 元素明确的指示是它产生了这个错误(参见下面的 4*$,5. 元素)
4*$,5.
4*$,5. 元素用来携带与 ;/4A 元素有关的应用程序所要的错误信息。如果 ;/4A 元素的内容不能被成功的处理,则
必须包含 4*$,5. 子元素。它不能用来携带属于头条目的错误信息。头条目的详细出错信息必须由头条目携
带。,>.$ 元素中没有 4*$,5. 元素表示这个错误与 ;/4A 元素的处理无关。在有错误的时候,这可以用来区分 ;/4A
元素有没有被正确的处理。4*$,5. 元素的所有直接子元素称作 4*$,5. 条目,并且每个 4*$,5. 条目在 4*$,5. 元素中
编码为独立的元素。4*$,5. 条目的编码规则如下(参见例 :): 一个 4*$,5. 条目由它的元素全名(包括名域
和局部名)确定。 体元素的直接子元素可能是名域限制的。*2)/4521$A.* 属性可能用来指示 4*$,5.
条目(见 节)的编码方式。也可以有其它的 ,>.$ 子元素,只要它们是名域限制的。