<cics_soap_1.1_handler_java> 管道配置元素

指定基于 Java 的 SOAP 管道中 SOAP 1.1 消息的处理程序属性。

用于:

  • 服务请求者
  • 服务提供程序

包含于:

包含:

  1. <jvmserver> 元素。
  2. 可选的 <repository> 元素。
  3. 可选的 <addressing> 元素。 如果在 Axis2中启用 Web Service 寻址,请勿使用 DFHWSADH 头处理程序。
  4. 零个,一个或多个 <headerprogram> 元素。 每个 <headerprogram> 元素都包含:
    1. <program_name> 元素,包含头处理程序的名称。 您可以在 Java™ 中编写 Axis2 处理程序以处理 SOAP 头。
    2. <namespace> 元素,与以下 <localname> 元素配合使用,以确定应由头处理程序处理 SOAP 消息中的哪些头块。 <namespace> 元素包含头块的名称空间的 URI (统一资源标识)。
    3. <localname> 元素,与前面的 <namespace> 元素配合使用,以确定 SOAP 消息中的哪些头块应由头处理程序处理。 <localname> 包含头块的元素名称。
      例如,考虑以下头块:
      <t:myheaderblock xmlns:t="http://mynamespace" ...> .... </t:myheaderblock>
      名称空间名称为 http://mynamespace ,元素名称为 myheaderblock
      要使头程序与此头块匹配,请对 <namespace><localname> 元素进行如下编码:
      <namespace>http://mynamespace</namespace>
      <localname>myheaderblock</localname>
      您可以在 <localname> 元素中对星号 (*) 进行编码,以指示应处理名称以给定字符串开头的名称空间中的所有头块。 例如:
      <namespace>http://mynamespace</namespace>
      <localname>myhead*</localname>
      <localname> 元素中使用星号时,消息中的头可以与多个 <headerprogram> 元素匹配。 例如,此头块:
      <t:myheaderblock xmlns:t="http://mynamespace" ...> .... </myheaderblock>
      与以下所有 <headerprogram> 元素匹配:
      <headerprogram>
        <program_name>HDRPROG1</program_name>
        <namespace>http://mynamespace</namespace>
        <localname>*</localname>
        <mandatory>false</mandatory>
      </headerprogram>
      <headerprogram>
        <program_name>HDRPROG2</program_name>
        <namespace>http://mynamespace</namespace>
        <localname>myhead*</localname>
        <mandatory>false</mandatory>
      </headerprogram>
      <headerprogram>
        <program_name>HDRPROG3</program_name>
        <namespace>http://mynamespace</namespace>
        <localname>myheaderblock</localname>
        <mandatory>false</mandatory>
      </headerprogram>
      在这种情况下,运行的头程序是在 <headerprogram> 元素中指定的头块的元素名称最精确声明的头程序。 在示例中,即 HDRPROG3。

      当 SOAP 消息包含多个头时,将对每个匹配的头调用一次头处理程序,但未定义处理头的顺序。

      如果对包含相同 <namespace><localname> 元素但指定了不同头程序的两个或多个 <headerprogram> 元素进行编码,那么将仅运行其中一个头程序,但未定义将运行的程序。

    4. <mandatory> 元素,包含 XML 布尔值 (truefalse)。 或者,可以将值分别编码为 10
      true
      在服务提供者管道中的服务请求处理和服务请求者管道中的服务响应处理期间,将至少调用一次头处理程序,即使 SOAP 消息中没有任何头与 <namespace><localname> 元素匹配也是如此:
      • 如果没有任何头匹配,那么将调用头处理程序一次。
      • 如果任何头匹配,那么将对每个匹配的头调用一次头处理程序。
      在服务请求者管道中的服务请求处理和服务提供者管道中的服务响应处理期间,将至少调用一次头处理程序,即使 CICS ® 创建的 SOAP 消息最初没有头也是如此。 如果要向消息添加头,必须通过指定 <mandatory>true</mandatory><mandatory>1</mandatory>来确保至少调用一个头处理程序。
      false
      仅当 SOAP 消息中的一个或多个头与 <namespace><localname> 元素匹配时,才会调用头处理程序:
      • 如果没有任何头匹配,那么不会调用头处理程序。
      • 如果任何头匹配,那么将对每个匹配的头调用一次头处理程序。

示例

以下示例显示了基于 Java 的 SOAP 处理程序及其嵌套元素的 XML:

<cics_soap_1.1_handler_java>
  <jvmserver>JVMSERV1</jvmserver>
  <headerprogram>
    <program_name>HDRPROG4</program_name>
    <namespace>http://mynamespace</namespace>
    <localname>myheaderblock</localname>
    <mandatory>true</mandatory>
  </headerprogram>
</cics_soap_1.1_handler_java>