管道配置文件

用于处理 Web Service 请求的管道的配置在 XML 文档 (称为 管道配置文件) 中指定。

管道配置文件存储在 z/OS® UNIX System Services 文件系统中,其名称在 PIPELINE 资源定义的 CONFIGFILE 属性中指定。 使用合适的 XML 编辑器或文本编辑器来处理管道配置文件。 管道配置文件的 XML 模式位于目录 /usr/lpp/cicsts/cicsts56/schemas/pipeline/ 中 (其中 /usr/lpp/cicsts/cicsts56 是 z/OS UNIX 上 CICS® 文件的缺省安装目录)。 使用配置文件时,请确保字符集编码为 UTF-8。 如果导入以 EBCDIC 编码的现有配置文件,那么会自动将其转换为 UTF-8。

当 CICS 处理 Web Service 请求时,它使用一个或多个消息处理程序的管道来处理该请求。 管道配置为提供适用于不同类别应用程序 (例如,支持 Web Service 安全性和 Web Service 事务) 的执行环境的各个方面。 通常,具有大量服务提供者或服务请求者应用程序的 CICS 区域需要多个不同的管道配置。 但是,如果不同的应用程序具有相似的需求,那么它们可以共享相同的管道配置。
注: 使用 CICS Explorer 作为束的一部分创建新的 PIPELINE 配置文件时,在束的根目录中不得存在同名的配置文件。
有两种类型的管道配置: 一种描述服务提供者管道的配置; 另一种描述服务请求者管道。 每个由其自己的模式定义,并且每个都具有不同的根元素。
管道 模式 root 元素 (root element)
服务提供者 Provider.xsd <provider_pipeline>
服务请求者 Requester.xsd <requester_pipeline>

虽然所使用的许多 XML 元素对于两种管道配置都是公共的,但其他元素仅用于其中一种,因此您不能对提供者和请求者使用相同的配置文件。

限制: 管道配置文件中不支持名称空间限定元素名称。
<provider_pipeline><requester_pipeline> 元素具有以下直接子元素:
  • <service> 元素,用于指定针对每个请求调用的消息处理程序。 此元素在 <provider_pipeline> 元素中使用时是必需的,在 <requester_pipeline> 元素中是可选的。
  • 可选 <transport> 元素,用于根据用于消息传输的资源来指定在运行时选择的消息处理程序。
  • (仅适用于 <provider_pipeline> ) 可选 <apphandler> 元素,用于指定通道连接的应用程序处理程序。
  • (仅适用于 <provider_pipeline> ) 可选 <apphandler_class> 元素,用于指定 Axis2 应用程序处理程序。
  • 可选的 <service_parameter_list> 元素,其中包含可供管道中的消息处理程序使用的参数。

某些元素可以具有与其关联的属性。 每个属性值都必须在其周围有引号才能生成有效的 XML 文档。

与管道配置文件关联的是 PIPELINE 资源。 这些属性包括 CONFIGFILE ,用于指定 z/OS UNIX 中管道配置文件的名称。 安装 PIPELINE 定义时, CICS 会从文件中读取配置管道所需的信息。

CICS提供的样本配置文件

CICS 提供了样本配置文件,您可以将其用作开发自己的配置文件的基础。 它们在库 /usr/lpp/cicts/cicsts56/samples/pipelines中提供。

将样本配置文件复制到本地目录,并将其用作模板以创建您自己的配置文件。 样本文件不打算按原样使用。

注: 确保配置文件在本地 CCSID 中有效。
basicsoap11provider.xml
将 SOAP 1.1 协议用于不支持 Java™的管道的服务提供者管道定义。 管道使用 <cics_soap_1.1_handler> 消息处理程序,并在使用 CICS Web Service 助手部署 CICS 应用程序时使用。
basicsoap11requester.xml
对不支持 Java 的管道使用 SOAP 1.1 协议的服务请求者管道定义。 管道使用 <cics_soap_1.1_handler> 消息处理程序,并在使用 CICS Web Service 助手部署 CICS 应用程序时使用。
basicsoap11javaprovider.xml
对支持 Java 的管道使用 SOAP 1.1 协议的服务提供者管道定义。 管道使用 <cics_soap_1.1_handler_java> 消息处理程序,并在使用 CICS Web Service 助手部署应用程序时使用。 此配置包含元素 <jvmserver>。 必须先编辑此消息处理程序以指定相应的 JVM 服务器,然后才能使用配置。
basicsoap11javarequester.xml
将 SOAP 1.1 协议用于支持 Java 的管道的服务请求者管道定义。 管道使用 <cics_soap_1.1_handler_java> 消息处理程序,并在使用 CICS Web Service 助手部署应用程序时使用。 此配置包含元素 <jvmserver>。 必须先编辑此消息处理程序以指定相应的 JVM 服务器,然后才能使用配置。
jsonjavaprovider.xml
对支持 Java 的管道使用 JSON 消息格式的服务提供者管道定义。 管道使用 <cics_json_handler_java> 消息处理程序,并在使用 CICS JSON 助手部署 CICS 应用程序时使用。 此配置包含元素 <jvmserver>。 必须先编辑此消息处理程序以指定相应的 JVM 服务器,然后才能使用配置。
jsonzosconnectprovider.xml
部署到为 z/OS Connect for CICS配置的 PIPELINE 的 JSON Web Service 的管道定义。 管道使用 <provider_pipeline_json> 消息处理程序。 此配置包含元素 <jvmserver>。 必须先编辑此消息处理程序以指定相应的 JVM 服务器,然后才能使用配置。
kerberosprovider.xml

将 Kerberos 支持的配置信息添加到 basicsoap11provider.xml的服务提供者管道定义。

samlprovider.xml

服务提供者管道定义,用于将 SAML 支持的配置信息添加到 basicsoap11provider.xml

samlrequester.xml

将 SAML 支持的配置信息添加到 basicsoap11requester.xml的服务请求者管道定义。

propagatesamlprovider.xml

服务提供者管道定义,用于通过将 SAML 信息通过 CICS 事务传播到 basicsoap11provider.xml来添加 SAML 支持的配置信息。

propagatesamlrequester.xml

服务请求者管道定义,通过将 SAML 信息通过 CICS 事务传播到 basicsoap11requester.xml来添加 SAML 支持的配置信息。

wsatprovider.xml
将 Web Service 事务的配置信息添加到 basicsoap11provider.xml的管道定义。
wsatrequester.xml
将 Web Service 事务的配置信息添加到 basicsoap11requester.xml的管道定义。

示例提供程序管道配置文件 (JSON 应用程序处理程序)

这是使用 <cics_json_handler_java> 元素的服务提供者管道的配置文件的简单示例:
<p><?xml version="1.0" encoding="EBCDIC-CP-US"?>
<provider_pipeline xmlns="http://www.ibm.com/software/htp/cics/pipeline">
  <service>
    <terminal_handler>
      <cics_json_handler_java>
        <jvmserver>DFHAXIS</jvmserver>
        <repository>/usr/lpp/cicsts/cicsts52/lib/pipeline/repository</repository>
      </cics_json_handler_java>
    </terminal_handler>
  </service>
  <apphandler_class>com.ibm.cicsts.axis2.CICSAxis2ApplicationHandler</apphandler_class>
</provider_pipeline>
管道仅包含一个消息处理程序。 处理程序链接到程序 DFHJSON。
  • <provider_pipeline> 元素是服务提供者管道的管道配置文件的根元素。
  • <service> 元素指定针对每个请求调用的消息处理程序。 在该示例中,只有一个消息处理程序。
  • <terminal_handler> 元素包含管道的终端消息处理程序的定义。
  • <cics_json_handler_java> 元素指示管道是基于 Java 的管道,而管道的服务处理程序是支持 JSON 消息的消息处理程序。
  • <apphandler> 元素指定缺省情况下管道的终端处理程序链接到的应用程序处理程序的名称。 在此情况下,程序为 DFHJSON ,这是 CICS为使用 CICS JSON 助手部署的应用程序提供的程序。

示例提供程序管道配置文件 (通道连接的应用程序处理程序)

这是使用 <cics_soap_1.1_handler> 元素的服务提供者管道的配置文件的简单示例:
<?xml version="1.0" encoding="EBCDIC-CP-US"?> 
<provider_pipeline 
   xmlns="http://www.ibm.com/software/htp/cics/pipeline"
    <service> 
    <terminal_handler> 
      <cics_soap_1.1_handler/> 
    </terminal_handler> 
  </service> 
  <apphandler>DFHPITP</apphandler> 
</provider_pipeline>
管道仅包含一个消息处理程序。 处理程序链接到程序 DFHPITP。
  • <provider_pipeline> 元素是服务提供者管道的管道配置文件的根元素。
  • <service> 元素指定针对每个请求调用的消息处理程序。 在该示例中,只有一个消息处理程序。
  • <terminal_handler> 元素包含管道的终端消息处理程序的定义。
  • <cics_soap_1.1_handler> 元素指示管道不是基于 Java 的管道,管道的终端处理程序是支持 SOAP 1.1 消息的消息处理程序。
  • <apphandler> 元素指定缺省情况下管道的终端处理程序链接到的应用程序处理程序的名称。 在此情况下,该程序为 DFHPITP ,这是 CICS为使用 CICS Web Service 助手部署的应用程序提供的程序。

示例提供程序管道配置文件 (Axis2 应用程序处理程序)

这是使用 <cics_soap_1.1_handler_java> 元素的服务提供者管道的配置文件的简单示例:
<?xml version="1.0" encoding="EBCDIC-CP-US"?> 
<provider_pipeline 
   xmlns="http://www.ibm.com/software/htp/cics/pipeline"
    <service> 
    <terminal_handler> 
      <cics_soap_1.1_handler_java> 
      <jvmserver>DFHAXIS</jvmserver>
      </cics_soap_1.1_handler_java>
    </terminal_handler> 
  </service> 
  <apphandler_class>com.ibm.cicsts.axis2.CICSAxis2ApplicationHandler</apphandler_class> 
</provider_pipeline>
管道仅包含一个消息处理程序。 处理程序链接到程序 DFHPITP。
  • <provider_pipeline> 元素是服务提供者管道的管道配置文件的根元素。
  • <service> 元素指定针对每个请求调用的消息处理程序。 在该示例中,只有一个消息处理程序。
  • <terminal_handler> 元素包含管道的终端消息处理程序的定义。
  • <cics_soap_1.1_handler_java> 元素指示管道是基于 Java 的管道,而管道的服务处理程序是支持 SOAP 1.1 消息的消息处理程序。
  • <apphandler_class> 元素指定提供的 Axis2 应用程序处理程序。

示例请求者管道配置文件

这是使用具有 Axis2 MTOM/XOP 支持的 <cics_soap_1.2_handler_java> 元素的服务请求者管道的配置文件的简单示例:

<?xml version="1.0" encoding="EBCDIC-CP-US"?>
<requester_pipeline 
  xmlns="http://www.ibm.com/software/htp/cics/pipeline">
   <service>
     <service_handler_list>           
       <cics_soap_1.2_handler_java>
         <jvmserver>JVMSERV1</jvmserver>
         <mtom>
       </cics_soap_1.2_handler_java>
     </service_handler_list>          
   </service>
</requester_pipeline>

管道仅包含一个消息处理程序。

  • <requester_pipeline> 元素是服务请求者管道的管道配置文件的根元素。
  • <service> 元素指定针对每个请求调用的消息处理程序。 在该示例中,只有一个消息处理程序。
  • <service_handler_list> 指定针对每个请求调用的消息处理程序的列表。
  • <cics_soap_1.2_handler_java> 元素指示管道支持 Java ,而管道的服务处理程序是支持 SOAP 1.2 消息的消息处理程序。
  • <jvmserver> 元素指定要使用的 JVM 服务器。
  • <mtom/> 元素指定将出站 XOP 文档打包到 MTOM 消息中并发送。 缺省情况下,对于基于 Java 的管道,将接受并取消打包入站 MTOM 消息。

z/OS Connect for CICS JSON Web Service 的示例提供程序管道配置文件

这是使用 <provider_pipeline_json> 元素的服务提供者管道的配置文件的简单示例。 由于提供了 java_parser="NO" 属性,因此它使用非 Java JSON 解析器:

<?xml version="1.0" encoding="EBCDIC-CP-US"?>
<provider_pipeline_json java_parser="NO"
  xmlns="http://www.ibm.com/software/htp/cics/pipeline">
   <jvmserver>DFHWLP</jvmserver>
</provider_pipeline_json>

无法定义 <provider_pipeline_json> 元素与该处理程序中的 <provider_pipeline> 元素不同。

  • <provider_pipeline_json> 元素是 z/OS Connect for CICS JSON Web Service 提供程序管道的管道配置文件的根元素。
  • java_parser="NO" 属性指定使用非 Java JSON 解析器。
  • <jvmserver> 元素指定要使用的 JVM 服务器。
注: 尝试使用除 z/OS Connect for CICS 以外的任何其他内容来启动 <provider_pipeline_json> 管道会导致错误。

用于非 Java JSON 解析的示例提供程序管道配置文件

<?xml version="1.0" encoding="EBCDIC-CP-US"?>
<provider_pipeline 
    xmlns="http://www.ibm.com/software/htp/cics/pipeline">
  <service>
    <terminal_handler>
      <handler>
          <program>DFHPIJT</program><handler_parameter_list/>
      </handler>
    </terminal_handler>
  </service>
</provider_pipeline>

管道仅包含一个消息处理程序。

  • <provider_pipeline> 元素是服务提供者管道的管道配置文件的根元素。
  • <service> 元素指定针对每个请求调用的消息处理程序。 在此示例中,只有一个消息处理程序。
  • <terminal_handler> 元素包含管道的终端消息处理程序的定义。
  • <handler> 元素指定处理程序的详细信息。
  • <program> 元素指定要调用的程序。 DFHPIJT 是 CICS提供的用于非 Java JSON 处理的处理程序。