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

已废弃的功能:已废弃对网络服务数据转换服务基于 JVMSERVER 的配置选项的支持。 使用 CICS® 网络服务的非 Java 管道可替代已废弃的选项、 z/OS Connect Enterprise Edition 或使用 JavaNode.js.更多详情,请参阅稳定化通知

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

用于

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

包含于:

包含:

  1. A <jvmserver> 元素
  2. 一个可选的 <repository> 元素。
  3. 一个可选的 <addressing> 元素。 如果在 Axis2 中启用对 Web 服务寻址的支持,请不要使用标题处理程序。 您可以用 Java 编写 Axis2 处理程序来处理 SOAP 标头。
  4. 零个、一个或多个 <headerprogram> 元素。 每个 <headerprogram> 元素都包含:
    1. 一个 <program_name> 元素,包含标题处理程序的名称
    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 报文包含多个报文头时,每个匹配的报文头都会调用一次报文头处理程序,但报文头的处理顺序是未定义的。

      如果您编写了两个或多个 <headerprogram> 元素,其中包含相同的 <namespace><localname> 元素,但指定了不同的头文件程序,则只有其中一个头文件程序会运行,但哪个程序会运行并未定义。

    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.2_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.2_handler_java>