定义 z/OS Connect 服务
z/OS® Connect 服务定义提供了使用 REST 调用来访问 z/OS 应用程序资产的机制。要启用 z/OS Connect 服务,您必须使用元素名称 zosConnectService 以及名称和服务提供者引用元素名称将 z/OS Connect 服务定义添加到 Liberty server.xml 文件。
关于此任务
由配置元素 zosConnectService 来定义 z/OS Connect 服务。此元素包含可能已全局定义等效件的属性定义。可以通过 zosConnectManager 元素来全局定义属性。这些属性(如果已定义)适用于所有服务。如果配置了全局属性和服务级别的属性,那么将使用在 zosConnectService 级别定义的值。
z/OS Connect 提供了服务实现,允许 z/OS Connect 请求通过 WebSphere 优化本地适配器 (WOLA) 与 z/OS 资产交互。配置了 zosConnect-1.0 和 zosLocalAdapters-1.0 功能部件后,会自动启用该服务。可以通过 localAdaptersConnectService 配置元素来定义此服务的实例。
z/OS Connect 还提供了服务实现,允许 z/OS Connect 请求联系远程 REST 端点。配置 zosConnect-1.2 功能部件后,此服务可用。可以通过 zosConnectServiceRestClient 配置元素来定义此服务的实例。有关更多信息,请参阅 z/OS Connect REST 客户机服务的文档。
过程
- 为 server.xml 配置中的每项服务添加 zosConnectService 配置元素。 您必须至少配置 serviceRef 和 serviceName 属性。serviceRef 元素指向服务提供者配置元素。serviceName 属性说明服务提供者如何向 z/OS Connect 标识它自身,也是用作针对特定服务所发出 z/OS Connect 请求的 URL 的一部分的名称。服务名称必须唯一。以下是样本 server.xml 文件,它显示了在添加一项称为 recordOpsCreate 的 z/OS Connect 服务时所需要的内容。
请注意,在步骤 3 中说明了更完整示例。
有关与 zosConnectService 元素相关联的可配置属性定义的更多信息,请参阅 z/OS Connect 功能部件的文档。<!-- z/OS Connect service definitions --> <zosConnectService id="zcs1" serviceName="recordOpsCreate" serviceRef="wolaOpsCreate"/>
- (可选)将 zosConnectManager 配置元素添加至 server.xml 文件。
此元素是 server.xml 配置中的单实例,它包含适用于为服务器定义的所有 z/OS Connect 服务的全局值。该元素可以包含适用于服务器中的所有服务的 z/OS Connect 拦截器或者数据变换提供者配置元素的名称。
以下示例描述了一个 zosConnectManager 配置元素,此元素在 globalOperationsGroup 项下定义操作组名 Operator1。这是在允许发出 z/OS Connect 操作请求(例如,action=start|stop|status)之前,发出请求的客户机用户标识需要处于的安全(SAF 或 LDAP)组的名称。此组适用于 z/OS Connect 配置中的所有服务。dataxform 项定义 z/OS Connect 将在其中查找数据变换提供者的元素名称。在 zosConnect 元素中提供 dataxform 表示这是配置中尚无自己的数据变换元素引用的所有服务的变换提供者实现。interceptors 项是配置中的元素的名称,此元素描述适用于配置中所有服务的一组 z/OS Connect 拦截器。
<zosConnectManager id="zosConnectGlobals" globalOperationsGroup="Operator1" globalDataxformRef="XformJSON2Byte" globalInterceptorsRef="GlobalInterceptors"/>
有关与 zosConnectManager 元素相关联的可配置属性定义的更多信息,请参阅 z/OS Connect 功能部件的文档。
有关每个属性的更多信息,请参阅 Liberty 功能部件文档。 - 如果在 Liberty 中配置了 WOLA,那么请求的配置要求 server.xml 文件中存在 localAdaptersConnectService 配置元素。 此配置最低限度应包括目标 WOLA 连接工厂名称、注册名称和服务名称。z/OS Connect 的配置遵循 Liberty 约定,只需要指定最低限度的参数。请注意,当您配置 WOLA 连接工厂以进行 z/OS Connect 交互时,必须使用容器作为认证机制。未指定
containerAuthDataRef 属性的 WOLA 连接工厂不受支持。以下是一个示例:
<!-- Local adapters connection factory definition --> <authData id="cauth1" user="user1" password="{xor}LDo8Ki02KyY="/> <connectionFactory id="wolaCF" jndiName="eis/ola" containerAuthDataRef="cauth1" > <properties.ola/> </connectionFactory> <!-- Local adapters config --> <zosLocalAdapters wolaGroup="LIBERTY" wolaName2="LIBERTY" wolaName3="LIBERTY" /> <!-- WOLA Connect service and z/OS Connect service definitions --> <localAdaptersConnectService id="wolaOpsCreate" registerName="BATCH01" serviceName="COBLPGM1" connectionFactoryRef="wolaCF"/> <zosConnectService id="zcs1" serviceName="recordOpsCreate" serviceRef="wolaOpsCreate" runGlobalInterceptors="true" interceptorsRef="serviceInterceptorList" dataXformRef="zconXform"/> <!-- z/OS Connect data transformer --> <zosConnectDataXform id="zconXform" bindFileLoc="/zosConnect/bind" bindFileSuffix=".bnd" requestSchemaLoc="/zosConnect/schema" responseSchemaLoc="/zosConnect/schema" requestSchemaSuffix=".json" responseSchemaSuffix=".json"> </zosConnectDataXform>
允许 z/OS Connect 请求通过 WebSphere 优化本地适配器 (WOLA) 与 z/OS 资产进行交互的 z/OS Connect 服务实现可能需要数据变换器。如果全局配置了数据变换器或者在服务级别配置了数据变换器,那么会使用所配置的数据变换器来转换输入和输出有效内容。如果未配置数据变换器,并且请求中包含 JSON 有效内容,那么该服务假定后端程序将处理数据转换。该服务使用请求头中所指定的编码或者使用缺省 JSON 编码 UTF-8 将 JSON 有效内容按原样转换为字节阵列。同样,如果资产返回有效内容,并且未配置数据变换器,那么 WOLA 服务实现期望以字节阵列形式接收 JSON 有效内容,该 JSON 有效内容将遵循用于将 JSON 请求有效内容转换为字节阵列的相同编码规则来转换为 JSON 响应有效内容。
如果在 localAdaptersConnectService 元素下配置了 linkTaskChanID 以及 useCICSContainer=true,那么会向目标程序发送一组上下文容器和有效内容容器。 以下列表提供上下文容器的名称和描述。- ZCONReqURL
- ZCONRegURL 上下文容器包含 HTTP 请求 URL。例如,如果使用 /banking/deposit 的 invokeURI 定义以及查询参数 country=USA,那么 URL 为 https//localhost:port/banking/deposit?country=USA。
- ZCONReqQParms
- ZCONReqQParms 上下文容器包含 HTTP 请求查询参数。例如,针对请求 URL https//localhost:port//banking/deposit?country=USA,查询参数为 country=USA。
- ZCONReqMethod
- ZCONReqMethod 上下文容器包含 HTTP 请求方法。例如,GET。
- ZCONHTTPHeaders
- ZCONHTTPHeaders 上下文容器包含一组 JSON 格式的 HTTP 标头名称/值对,此名称/值对通过在 localAdaptersConnectService 元素下使用 linkTaskChanCtxContHttpHeaders 属性进行配置。
用户可通过使用 localAdaptersConnectService 元素下的 linkTaskChanCtxContEncoding 配置属性,修改所有上下文容器中包含的数据的缺省编码 (cp819)。
如果在 localAdaptersConnectService 元素下配置了 linkTaskChanID 以及 useCICSContainer=true,那么可以通过使用 linkTaskChanReqContID 和 linkTaskChanRespContID 定制输入和输出容器有效内容名称。 如果未定义这些属性,那么缺省名称为 ZCONReqData 和 ZCONRespData。以下示例演示另一正确配置。<localAdaptersConnectService id="wolaOpsCreate" registerName="OLASERVER" serviceName="ZCONMC5" connectionFactoryRef="wolaCF" linkTaskChanID="ZCONCHANNEL" linkTaskChanType="1" useCICSContainer="true" linkTaskChanCtxContHttpHeaders="Connection, CustomHeader1, CustomHeader2, CustomHeader3" linkTaskChanReqContID="wolaOpsReqData" linkTaskChanRespContID="wolaOpsRespData" linkTaskChanCtxContEncoding="cp037"/>
下表是 localAdaptersConnectService 属性定义以及对每个属性定义的描述的列表。
属性定义 描述 serviceName
required="true"
type="String"
WOLA 目标服务的名称。serviceName 必须与外部地址空间应用程序在“WOLA 接收请求”或“主机服务”API 调用上用作服务名称的名称匹配,或者与用于带 WOLA CICS 链接服务器的 SVC 的程序名称匹配。 registerName
required="true"
type="String"
WOLA 目标注册的名称。此名称必须与外部地址空间应用程序在“WOLA 注册”API 调用上用作注册名称的名称相匹配,或者与用于带 WOLA CICS 链接服务器的 RGN 的名称相匹配。registerName 可为 1 到 12 个字符组成的任何字母数字字符串。 connectionFactoryRef
required="true"
type="String"
对配置的 WOLA 资源适配器连接工厂的引用。 connectionWaitTimeout
required="false"
type="Integer"
min="0"
max="2147483647"
等待与注册名称相匹配的外部地址空间应用程序发出“WOLA 接收请求”或“主机服务”API 并且变为活动状态的时间(秒)。此属性定义优化本地适配器连接工厂上的 ConnectionWaitTimeout 属性。如果未指定值,那么将使用属性的缺省值。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskTranID
required="false"
type="String"
定义 WOLA CICS 链接服务器链接调用任务事务标识的名称(任何包含 4 个字符的字符串)。使用 CICS 链接服务器时会使用此属性。此属性定义优化本地适配器连接工厂上的 LinkTaskTranID 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 useCICSContainer
required="false"
type="Boolean"
default="false"
定义要用于数据传播的机制。设置为 true 时,会使用 CICS 容器将有效内容传递到目标 CICS 应用程序。设置为 false(缺省值)时,会使用 COMMAREA 将有效内容传递到目标 CICS 应用程序。使用 CICS 链接服务器时会使用此属性。此属性定义优化本地适配器连接工厂上的 useCICSContainer 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskReqContType
type="Integer"
min="0"
default="0"
定义请求容器的类型(0=CHAR,1=BIT)。使用 CICS 链接服务器且配置了 linkTaskReqContID 和 useCICSContainer (true) 属性时,会使用此属性。此属性定义优化本地适配器连接工厂上的 linkTaskReqContType 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskRspContID
required="false"
type="String"
定义响应、输出或容器的名称(与对 CICS 定义的容器名称匹配的由 1 到 16 个字符组成的字符串)。使用 CICS 链接服务器且配置了 linkTaskReqContID 和 useCICSContainer (true) 属性时,会使用此属性。此属性定义优化本地适配器连接工厂上的 linkTaskRspContID 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskRspContType
type="Integer"
min="0"
default="0"
定义响应容器的类型(0=CHAR,1=BIT)。使用 CICS 链接服务器且配置了 linkTaskRspContID 和 useCICSContainer (true) 属性时,会使用此属性。此属性定义优化本地适配器连接工厂上的 linkTaskRspContType 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskChanID
required="false"
type="String"
定义要用于使用 CICS 容器发送和接收有效内容的 CICS 通道名称(使用与对 CICS 定义的通道名称匹配的由 1 到 16 个字符组成的字符串)。使用 CICS 链接服务器且还配置了 useCICSContainer (true) 属性时,会使用此属性。此属性定义优化本地适配器连接工厂上的 linkTaskChanID 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskChanType
required="false"
type="Integer"
min="0"
default="0"
定义要与配置的通道标识关联的 CICS 容器的类型 (0=CHAR, 1=BIT)。设置为 0=CHAR(缺省值)时,输入/输出容器中字符数据的编码预期采用 ASCII (CCSID 819),或以此格式返回,且数据会先转换为 EBCDIC (cp037) 或从 EBCDIC (cp037) 转换,再发送到目标程序或从其发送。使用 BIT 类型可避免数据类型和编码预期操作。使用 CICS 链接服务器且配置了 linkTaskChanID 和 useCICSContainer (true) 属性时,会使用此属性。此属性定义优化本地适配器连接工厂上的 linkTaskChanType 属性。请参阅 Liberty 文档上优化本地适配器的连接工厂属性,以获取更多信息。 linkTaskChanReqContID
required="false"
default="ZCONReqData"
type="String"
定义请求容器的名称(与对 CICS 定义的容器名称匹配的由 1 到 16 个字符组成的字符串)。使用 CICS 链接服务器且配置了 linkTaskChanID 和 useCICSContainer (true) 属性时,会使用此属性。
linkTaskChanRespContID
required="false"
default="ZCONRespData"
type="String"
定义响应容器的名称(与对 CICS 定义的容器名称匹配的由 1 到 16 个字符组成的字符串)。使用 CICS 链接服务器且配置了 linkTaskChanID 和 useCICSContainer (true) 属性时,会使用此属性。
linkTaskChanCtxContEncoding
required="false"
type="String"
default="cp819"
定义所有上下文容器中发送到目标程序的数据的编码。使用 CICS 链接服务器且配置了 linkTaskChanID 和 useCICSContainer (true) 属性时,会使用此属性。
linkTaskChanCtxContHttpHeaders
required="false"
type="String"
使用名称为 ZCONHTTPHeaders 的上下文容器,定义 HTTP 标头名称或传递到目标程序的 HTTP 标头名称的逗号分隔列表。此上下文容器中包含的信息采用 JSON 格式,如下所示:{httpHeaders:{"header1":"header1Value", ...,"headerN":"headerNValue"}}。使用 CICS 链接服务器且配置了 linkTaskChanID 和 useCICSContainer (true) 属性时,会使用此属性。

文件名:twlp_zconnect_srvcdef.html