URIMAP 资源定义
URIMAP 定义是与 HTTP、Atom 订阅源或 Web Service 请求的 URI 相匹配的资源,其提供有关如何处理这些请求的信息。
从 Web 客户端向作为HTTP服务器的CICS提出请求
- 通过使用文件模板或z/OS UNIX System Services文件,对HTTP请求作出静态响应。
- 通过使用应用程序来提供对 HTTP 请求的由应用程序生成的响应。
Web 客户机请求可能有资格通过直接连接的用户事务(绕过 Web 连接任务)来进行处理。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
有关将CICS配置为HTTP服务器的信息,请参阅将CICS作为HTTP服务器启用 CICS Web 支持。 有关HTTP服务器所需的CICS资源的信息,请参阅为作为HTTP服务器的CICS定义资源。
有关使用 CEMT 和 CEDA 安装 URIMAP 资源定义的信息,请参阅 安装 URIMAP 资源定义。 有关使用 BAS 的信息,请参阅 使用 BAS URIMAP 资源定义。
作为HTTP客户端从CICS向服务器发出请求
作为HTTP客户端从CICS请求的 URIMAP 定义的 USAGE 属性为 CLIENT。 这些 URIMAP 定义指定了用户应用程序作为网络客户端通过CICS网络支持向HTTP服务器发出请求时使用的 URL。 如果针对此目的设置 URIMAP 定义,那么您不必识别应用程序中的 URL。 还可以选择汇聚供相同应用程序或其他应用程序复用的已打开连接。 更多信息,请参阅为作为HTTP客户端的CICS创建 URIMAP 资源。
从 SOAP 客户机到作为 Web Service 提供程序的 CICS 的请求
对于入站 Web Service 请求,其 URIMAP 定义的 USAGE 属性为 PIPELINE。 这些 URIMAP 定义将入站 Web Service 请求 (即客户机在 CICS中启动 Web Service 的请求) 的 URI 与指定要执行的处理的 PIPELINE 和 WEBSERVICE 资源相关联。
对于使用 CICS Web Service 助手部署的服务提供者,将在扫描拾取目录时自动创建 URIMAP 资源。 安装 PIPELINE 资源时或由于 PERFORM PIPELINE SCAN 命令而发生此扫描。 为 CICS 提供信息以将 WEBSERVICE 资源与特定 URI 相关联的 URIMAP 资源是必需资源。 此资源的属性由 pickup 目录中的 Web Service 绑定文件指定。 为 CICS 提供用于将 WSDL 归档文件或 WSDL 文档与特定 URI 相关联的信息的 URIMAP 资源是可选资源,并且是在选取目录中存在 WSDL 文件或 WSDL 归档文件时创建的。
Web Service 概述 包含有关 CICS中的 Web Service 的更多信息。
SOAP 客户机请求可能有资格通过直接连接的用户事务(绕过 Web 连接任务)来进行处理。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
从 CICS 作为 Web Service 请求者向 Web Service 提供程序发出的请求
通过使用 INVOKE WEBSERVICE 命令发出的出站 Web Service 请求的 URIMAP 定义是可选定义,其 USAGE 属性为 CLIENT。 例如,可使用 URIMAP 定义来指定在建立使用传输层安全性 (TLS) 的套接字连接时要使用的密码套件或证书标签。 您还可以选择将已打开的连接进行池,以供应用程序进一步 INVOKE WEBSERVICE 命令复用,而不是每次都打开一个新连接。 URIMAP 定义使管理员能够控制与远程 Web Service 的连接:他们可根据需要更改其 URI,或者启用和禁用 URIMAP 以允许或禁止连接。
对于服务请求者, CICS 不会在安装 PIPELINE 资源时或由于 PERFORM PIPELINE SCAN 命令而自动创建任何 URIMAP 资源。
从 Web 客户机到 Java Web 应用程序的请求
Java™ Web 应用程序的 URIMAP 定义的 USAGE 属性为 JVMSERVER。 这些 URIMAP 定义与从 Web 客户机向正在 JVM 服务器中运行的 servlet 或 JSP 发出的入站请求相匹配。 将对初始 HTTP 请求(而不是对转发的任何请求)执行针对 Web 应用程序的 URIMAP 相匹配。 URIMAP 可以指定一个在 JVM 服务器中运行请求的CICS事务,还可以指定一个用户 ID。
有关更多信息,请参阅 将 CICS 束中的 Enterprise Java 应用程序部署到 Liberty JVM 服务器。
Atom 订阅源请求
对于 Atom 订阅源请求,其 URIMAP 定义的 USAGE 属性为 ATOM。 这些 URIMAP 定义与从 Web 客户机对 Atom 文档发出的入站请求相匹配。 它们将引用指定要返回 Atom 文档的 ATOMSERVICE 资源定义。
有关更多信息,请参阅 为 Atom 订阅源设置 CICS 定义。
Atom 订阅源请求可能有资格通过直接连接的用户事务(绕过 Web 连接任务)来进行处理。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
从 HTTP EP 适配器发出的业务事件
CICS 事件处理的 URIMAP 定义的 USAGE 属性为 CLIENT。 这些 URIMAP 定义指定供 HTTP EP 适配器用来向符合 HTTP 1.1 的服务器(使用 HTTP POST)发出事件的 URL。 可选择汇聚要供更多事件发出复用的已打开连接。 事件处理概述提供了有关CICS事件处理的更多信息。
对于作为HTTP服务器的CICS,URIMAP 定义包含了以前由与 TCPIPSERVICE 定义相关的分析程序提供的大部分功能。 您仍可以在处理路径中使用分析器程序(如果需要这样做)。
URIMAP 搜索顺序
如果有多个可用的 URIMAP,那么会先搜索具有相同 URI 和 TCPIPSERVICE 的 URIMAP。 在包含通配符的 URIMAP 中,最先搜索匹配的 URI,最后搜索 TCPIPSERVICE。 此搜索顺序可确保使用最具体的 URIMAP。
CICS 束中的 URIMAP 资源
您可以使用 CICS 束来创建,编辑和安装 URIMAP 资源定义。 如果以此方式创建 URIMAP 资源,那么必须使用 CICS 束来管理该资源的生命周期,并且不能独立管理该资源。 您可以使用 EXEC CICS INQUIRE URIMAP 或 CEMT INQUIRE URIMAP 命令来查询由 CICS 束动态生成的 URIMAP 资源。 但是,不能对 CICS 束动态生成的 URIMAP 资源发出 SET 或 DISCARD 命令。 必须针对 BUNDLE 资源发出命令,并且 CICS 会将这些命令应用于 URIMAP 资源。 有关在 CICS 束中定义资源的更多信息,请参阅 定义 CICS 束。
作为应用程序入口点的 URIMAP 资源
- 具有 USAGE(JVMSERVER)(使用 Liberty)的 URIMAP 资源
- 如果由 Liberty JVM 服务器定位的 URIMAP 资源定义了应用程序入口点,则会为 JVM 服务器请求处理器任务或事务属性指定的别名设置应用程序上下文数据。
- 不使用 IBM® MQ 的带有 USAGE (SERVER) 或 USAGE (PIPELINE) 的 URIMAP 资源
- 如果 CWXN 找到的 URIMAP 资源已定义为应用程序入口点,那么会为 CWXN 任务设置应用程序上下文数据。 然后,由于 CWXN 为用户任务,所以应用程序上下文数据可自动传播到由 CWXN 启动的别名事务;例如,CPIH(对于 USAGE(PIPELINE))、CWBA(对于 USAGE(SERVER))或者由 TRANSACTION 字段指定的事务。
- 使用 IBM MQ 的带有 USAGE (PIPELINE) 的 URIMAP 资源
- 不支持此方案。
- 具有 USAGE(CLIENT) 或 USAGE(ATOM) 的 URIMAP 资源
- 不支持这些方案。 如果 URIMAP 已定义为应用程序入口点,那么具有 URIMAP 和 USAGE(CLIENT) 的捆绑软件或具有 URIMAP 和 USAGE(ATOM) 的捆绑软件的状态为 DISABLED。 如果已安装捆绑软件并且您尝试启用该捆绑软件,那么该捆绑软件内的 ENTRYPOINT 捆绑软件部件的状态为 DISABLED,因此该捆绑软件的状态为 DISABLED。
使用 INQUIRE URIMAP 和 CEMT INQUIRE URIMAP 命令来返回已将 URIMAP 资源定义为其入口点的应用程序的详细信息。
有关应用程序入口点的更多信息,请参阅 应用程序入口点。语法
属性
- ANALYZER( { 否 |YES } )
- 此属性适用于 USAGE (SERVER) ,其中将提供应用程序生成的响应。 对于其他用法类型,该属性将强制设置为 NO。
- ATOMSERVICE(名称)
- 该属性用于 USAGE(ATOM)。
当客户机使用此 URIMAP 定义指定的 URI 向 CICS 请求 Atom 订阅源时, ATOMSERVICE 指定 ATOMSERVICE 订阅源的 ATOMSERVICE 资源定义的 1-to 8 字符名称。 ATOMSERVICE 资源定义定义 Atom 服务,订阅源,集合或类别文档,并标识用于为订阅源提供数据的 Atom 配置文件, CICS 资源或应用程序以及 XML 绑定。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
- 6.3 ATTLS( { 不知道 |AWARE } )
- 该属性用于 USAGE (CLIENT)。
ATTLS 指定 CICS® 是否知道出站连接是否使用 AT-TLS 进行保护。
- 注意
- AT-TLS 不用于确保出站连接的安全。 如果设置了 SCHEMEHTTPS),CICS将确保连接安全。 如果设置了 SCHEMEHTTP),则假定连接未受保护。
- AWARE
- CICS要求 AT-TLS 确保出站连接安全,如果不使用 AT-TLS,使用此 URIMAP 的 EXECCICSWEB OPEN 命令将失败。 要设置 ATTLS(AWARE),就必须设置 SCHEMEHTTP),并且不设置 CERTIFICATE 和 CIPHERS 属性。 证书和密码在相关的 AT-TLS 策略中定义。
- AUTHENTICATE( { 否 |BASIC } )
- 此属性用于 USAGE (CLIENT)。
AUTHENTICATE 指定是否向 HTTP 服务器发送 HTTP 基本身份验证信息。 AUTHENTICATE (BASIC) 要求用户标识和密码由 XWBAUTH 全局用户出口提供,或者作为 API 命令 (例如 WEB SEND 或 WEB CONVERSE) 上的值提供。 如果在 API 命令中指定了 USERNAME 和 PASSWORD ,那么不会调用 XWBAUTH 全局用户出口。 如果在 API 命令上指定认证值,那么将使用此值,而不是 URIMAP 资源中指定的 AUTHENTICATION 值。
- CERTIFICATE(标签)
- 此属性用于 USAGE (CLIENT)。
CERTIFICATE 指定要在 SSL 握手期间用作 TLS 客户机证书的 X.509 证书的标签。 证书标签最长可为 32 个字符。 只有在CICS作为客户机发出HTTPS请求时使用 URIMAP 定义指定的 URI 时,才会使用该属性。 服务器可请求 TLS 客户证书,如果请求,CICS将提供 URIMAP 定义中指定的证书标签。 如果省略此属性,则使用CICS区域用户 ID 的密钥环中定义的默认证书。 该证书必须存储在外部安全性管理器数据库中的密钥环中。 指定的证书或缺省证书必须具有可供其使用的专用密钥,否则 URIMAP 无法安装。 如果不想使用证书,请将此字段留空,并确保CICS区域使用的密钥环没有默认证书。 有关更多信息,请参阅 手动构建密钥环。
- CHARACTERSET(字符集)
- 此属性适用于 USAGE (SERVER) ,其中将提供静态响应。
CHARACTERSET 指定 1 至 40 个字符的字符集名称, CICS 将发送到 Web 客户机的响应的实体主体转换为该字符集。 CICS不支持 IANA 命名的所有字符集。 HTML 编码字符集 列出了 CICS支持的 IANA 字符集。 此属性的值包含在响应的 Content-Type 头中。
如果提供了静态响应并且 MEDIATYPE 属性指定了文本类型,那么必须指定 CHARACTERSET。
- CIPHERS(值)
- 此属性用于 USAGE (CLIENT)。
- CONVERTER(名称)
- 此属性适用于 USAGE (SERVER) ,其中将提供应用程序生成的响应。
转换器指定转换请求和响应的转换器程序的 1-to 8 字符名称。 通常情况下,转换器程序会将HTTP请求转换成可供应用程序使用的 COMMAREA,并将输出转换成HTTP响应。 转换程序可以是本地CICS区域可用的任何转换程序。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
与分析器程序与 TCPIPSERVICE 定义之间的关系不同,转换器程序与 TCPIPSERVICE 定义没有关联。
如果将 ANALYZER 属性指定为 YES ,那么会将转换器属性用作分析器程序的输入,但分析器程序会覆盖此属性。 如果使用转换器程序,那么您仍可以指定 URIMAP 定义的 PROGRAM 属性,但是您为此属性指定的值可以被转换器程序覆盖。 或者,可以将此属性留空,并让转换器程序指定此属性。
- DESCRIPTION(文本)
- 您可以提供在此字段中定义的资源的描述。 描述文本的长度最多可以为 58 个字符。 您可以使用的字符没有任何限制。 但是,如果使用括号,请确保对于每个左括号都有一个匹配的右括号。 如果使用 CREATE 命令,那么对于文本中的每个单撇号,将编码两个撇号。
- GROUP( 组名 )
- 每个资源定义都必须具有 GROUP 名称。 资源定义成为组的成员,并在安装组时安装在 CICS 系统中。可接受的字符:
A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
输入的任何小写字符都将转换为大写。
GROUP 名称的长度最多可以为 8 个字符。 小写字符被视为大写字符。
- HFSFILE(名称)
- 此属性适用于 USAGE (SERVER) ,其中将提供静态响应。
HFSFILE 指定z/OS UNIX System Services zFS文件的完全限定(绝对)或相对名称,该文件将构成从 Web 客户端发送到HTTP请求的静态响应正文。 最多可使用 255 个字符。
可以将名称指定为绝对路径,包括所有目录并以斜杠开头 (例如,
/u/facts/images/bluefish.jpg)。 或者,可以将其指定为相对路径 (例如,facts/images/bluefish.jpg)。- 对于由联机资源定义定义的 URIMAP 资源的静态响应文件,文件路径是标准路径 (如果以正斜杠 /作为前缀) ,或者相对于 CICS 区域用户标识的 HOME 目录。
- 对于在 CICS 束中定义的 URIMAP 资源的静态响应文件,文件路径相对于 CICS 束的根目录。 必须将 zFS 文件与 URIMAP 资源一同打包在 CICS 捆绑软件中。 必须指定 MEDIATYPE 和 HOSTCODEPAGE 属性以通知 CICS 文件类型以及用于对文件进行编码的代码页。 在 CICS 束中定义该文件并使用 CICS Explorer将其导出到 zFS 时,用于编码该文件的代码页与 CICS Explorer所使用的代码页相同。 有关更多信息,请参阅 引用捆绑软件中的 zFS 工件。
指定的值必须是 UNIX 文件的有效名称:- 它不得包含嵌入的空格字符。
- 它不得包含
/字符的连续实例。 - 它区分大小写。
如果指定了 TEMPLATENAME 或 HFSFILE ,那么必须将 ANALYZER 设置为 NO。 仅与应用程序生成的响应 (事务,转换器和程序) 相关的其他属性必须保留为空。
如果要使用路径匹配,请在 zFS 文件的路径末尾以及 PATH 属性指定的路径末尾包含星号作为通配符。 CICS将通配符所覆盖的每个HTTP请求的路径部分替换为文件路径的最后部分。
例如,您可以使用指定为findout/pictures/*的 PATH 属性和指定为/u/facts/images/*的 HFSFILE 属性来创建 URIMAP 定义。 URIMAP 定义用于处理传入的HTTP请求:http://www.example.com/findout/pictures/bluefish.jpgCICS 将
bluefish.jpg附加到 URIMAP 定义中指定的 zFS 文件路径以代替星号,以便 zFS 文件 /u/facts/images/bluefish.jpg 用作静态响应。不能在 HFSFILE 规范中单独使用星号。 必须至少指定一个目录结构级别。
如果使用的是包含 Unicode 字符的 IRI (国际化资源标识) ,那么必须将 Unicode 字符转义为其在 zFS 文件名和相应路径中的百分比编码表示。 Web 上提供了一些工具来帮助您。 在 Web 上搜索
Unicode 转义百分比
。无法将查询字符串替换到 zFS 文件内容中,尽管您可以将 zFS 文件定义为 CICS 文档模板,并使用 TEMPLATENAME 属性而不是 HFSFILE 属性来指定该文件。
- HOST( 主机名 |* )
- 此属性适用于所有 USAGE 选项。
HOST 指定 URIMAP 定义所应用于的 URI 的主机名,或其 IPv4 或 IPv6 地址。 该名称的长度最多可以为 116 个字符。 URL的组成部分解释了每个组成部分及其分隔方式。
HOST 属性必须存在。 HOST 属性必须仅包含字母数字字符,连字符 -,冒号 :或句点 .,尽管在指定字符主机名而不是 IP 地址时不能使用冒号。 CICS 在定义时验证主机名。 可以在任何情况下输入主机名,但如果指定了字符主机名而不是 IP 地址,那么在 URIMAP 定义中将主机名转换为小写。
指定 USAGE(CLIENT),并在连接HTTP服务器时使用传输层安全(TLS)时,CICS会在 TLS 握手过程中通过服务器名称指示(SNI)扩展传递主机名。 这样,当服务器支持使用单个 IP 地址的多个虚拟主机时,CICS就可以使用 TLS 与虚拟主机通信。 另请参阅CICS网络支持基础知识:虚拟主机。
当指定 USAGE (SERVER) , USAGE (PIPELINE) , USAGE (ATOM) 或 USAGE (JVMSERVER) 时,可以在 HOST 属性中使用单个星号,使 URIMAP 定义与任何主机名匹配。 在 HOST 属性中,不能将星号与任何其他字符一起用作通配符。 请勿在此属性中为这些用法类型设置端口号。
URIMAP 资源支持国际化资源标识 (IRI) ,它可以包含 Unicode 字符。 如果指定包含 Unicode 字符的主机名,那么必须将主机名转换为 Punycode 格式,如 RFC 3492 所述。 CICS 未提供用于执行此转换的工具,但因特网上提供了免费应用程序来支持将 Unicode 转换为 Punycode。 如果使用星号作为主机名,那么不需要使用 Punycode。 有关 IRI 的更多信息,请参阅 国际化资源标识 (IRI)。
可以多种可接受格式指定 IPv4 和 IPv6 地址。 有关地址格式的更多信息,请参阅 IP 地址。
如果CICS是HTTP客户端,并且指定了 USAGE(CLIENT),则可以在向服务器发出的请求中指定端口号:- 使用 PORT 属性来指定端口号。 PORT 将替换使用 HOST 属性来指定端口号。
- 为了在使用本机 IPv4 地址和主机名的现有程序中实现兼容性,您可以在指定端口号时使用 HOST 属性。 本机 IPv4 地址和主机名是唯一可以指定端口号以及前置冒号的格式; 例如, 1.2.3.4:80 或 hostname.com:443。
- 如果指定 IPv6 地址(或可解析为 IPv6 地址的主机名),请确保您在双方式(IPv4 和 IPv6)环境中运行,并确保正与之通信的客户机或服务器也在双方式(IPv4 和 IPv6)环境中运行。 有关 IPv6的更多信息,请参阅 了解 IPv6 和 CICS。
- 对于本机 IPv6 地址,必须使用 PORT 属性来指定端口号。 IPv6 地址需要用方括号将地址与端口号分隔开,并且由于方括号不是所有 EBCDIC 字符集中的固定值,因此在 HOST 属性中不支持方括号。
- 只有在端口号不同于方案默认值时才指定端口号;80 用于不带 SSL 的HTTP,443 用于带 SSL 的HTTPS和HTTP。
- 如果在 HOST 属性中指定端口号,并在 PORT 属性中指定其他端口号,那么将返回错误。 如果未在 HOST 或 PORT 属性中指定端口号,那么将使用方案的缺省端口号。
- HOSTCODEPAGE(代码页)
- 此属性适用于 USAGE (SERVER) ,其中将提供静态响应。
HOSTCODEPAGE 指定 IBM 代码页 (EBCDIC) 的 1 到 10 个字符的名称,在该代码页中对构成静态响应的文本文档进行编码。 CICS 需要此信息来转换静态响应的实体主体的代码页。
主机代码页名称的标准 CICS 格式由使用 3-5 十进制数字编写的代码页号 (或更一般的 CCSID) 组成,必要时使用尾部空格填充。 对于少于 3 位数字的代码页 37,标准格式是 037。 CICS 接受范围为 1-65535 的任何十进制数字 (以尾部空格填充) 作为代码页名称,即使它不是标准格式也是如此。
如果要提供静态响应并且 MEDIATYPE 属性指定文本类型,那么必须指定 HOSTCODEPAGE。
- LOCATION( url )
- 此属性用于 USAGE (SERVER) , USAGE (PIPELINE) 和 USAGE (ATOM)。
LOCATION 指定一个 URL ,最多 255 个字符,客户请求将被重定向到该。 URL必须完整,包括方案、主机、路径组件和适当的分隔符。 CICS不会检查URL是否有效,因此必须确保目标地址存在且URL指定正确。
PATH 属性的说明列出了URL 中必须排除的字符。 不得在 LOCATION 属性中使用这些字符。 但 # 字符是个例外,它可以在 LOCATION 属性中用作URL 后面片段标识符前的分隔符。
REDIRECTTYPE 属性用于指定重定向的类型。 如果指定了临时或永久重定向,则使用 LOCATION 属性中的URL进行重定向。 如果未指定重定向,LOCATION 属性中的URL将被忽略。 可以使用 SET URIMAP 命令来更改 REDIRECTTYPE 属性和 LOCATION 属性。
- MEDIATYPE(类型)
- 此属性适用于 USAGE (SERVER) ,其中将提供静态响应。
MEDIATYPE 指定CICS为HTTP请求提供的静态响应的媒体类型(数据内容);例如,"
image/jpg、"text/html或 "text/xml。 最多可使用 56 个字符。 介质类型必须正好包含一个正斜杠 (/)。 可以输入大写或小写的介质类型,但在 URIMAP 定义中将其转换为小写。每个正式认可的数据内容类型的名称都通过 IANA 定义。 名单 http://www.iana.org/assignments/media-types/media-types.xhtml查看。 CICS 使用此属性的值为响应创建 Content-Type 头。
此属性没有缺省值,必须指定此属性。 如果 MEDIATYPE 属性指定文本类型 (例如以
text/开头的类型) 或包含+xml的类型,那么还必须指定 CHARACTERSET 和 HOST CODEPAGE 属性,以便可以进行代码页转换。 文本媒体类型由RFC 3023确定,该文件可从 https://www.ietf.org/rfc/rfc3023.txt 获取。对于动态 (应用程序生成的) 响应,不使用此属性。 响应的介质类型由 WEB SEND 命令指定。
- PATH( 路径 )
- 此属性适用于所有 USAGE 选项。
PATH 指定应用 URIMAP 定义的 URI 的路径部分,最多可以包含 255 个字符,包括路径部分开头的正斜杠 (/)。 如果不包含正斜杠,那么只能使用 254 个字符来指定路径。 最小可能路径为正斜线,表示指定主机名的URL结构根目录。 您可以包含或省略路径组件开头的正斜杠,但如果省略,CICS会在运行时添加。 路径的示例为
software/htp/cics/index.html。 URL的组成部分解释了每个组成部分及其分隔方式。PATH 属性以混合大小写形式指定,并且在 URIMAP 定义中保留大小写。 PATH 属性必须仅包含 URI 中允许的字符。 具体而言,必须排除字符 < > # % “ { } | \ ^ [ ] ` 和嵌入的空格 (除非 % 在引入有效的十六进制转义序列时被允许; 即,当后跟两个大写或小写的有效十六进制数字时)。 不能在 CICS 中指定波浪号字符 ~ ,必须将其替换为相应的十六进制转义序列 (%7E)。 CICS 在定义时验证字符的使用。
URIMAP 资源支持国际化资源标识 (IRI) ,它可以包含 Unicode 字符。 如果指定包含 Unicode 字符的路径,那么必须将任何 Unicode 字符转义为 Unicode 字符的百分比编码表示法。 如果您没有可以将 Unicode 字符转换为百分比编码表示的应用程序,那么可以在因特网上使用免费应用程序来执行此任务。 路径必须仍为 255 个字符或更少,并且此上下文中的字符表示单个 ASCII 字符,而不是原始 Unicode 字符。 例如,根据该 255 个字符限制,百分比编码表示形式为
%D0%B4的西里尔字母字符表示 6 个字符。对于与CICS作为HTTP服务器和 Web 服务相关的 URIMAP 定义,如果希望 URIMAP 定义匹配多个路径,则必须在路径末尾使用星号作为通配符。 例如,指定路径
/software/htp/cics/*将使 URIMAP 定义与所有具有以星号左侧的字符串开头的路径的请求匹配。 指定路径 /* 将使 URIMAP 定义与定向到 HOST 属性中指定的主机的任何请求相匹配。 如果一个HTTP请求与多个 URIMAP 定义匹配,则取最具体的匹配。如果存在查询组件,并且您希望仅将 URIMAP 定义应用于该特定查询,那么可以将其作为路径组件的一部分包含在内。 在字符串开头包含问号。 查询字符串必须仅包含 URI 中允许的字符。 查询字符串本身不能包含星号作为通配符,但它可以遵循包含星号作为通配符的路径。 如果不在 URIMAP 定义中包含查询字符串,HTTP请求中的任何查询字符串都会被自动忽略。
对于 Atom 订阅源的 URIMAP 定义,必须在路径末尾使用星号作为通配符。 在 URIMAP 定义中指定的路径部分是 Atom 订阅源和 Atom 条目 URL 的公共部分。 CICS将 "URL的其余部分与该 feed 的 Atom 配置文件中所有 "<atom:link>元素指定的 URL 匹配。
对于作为HTTP客户端的CICS的 URIMAP 定义,不能使用星号作为通配符;必须指定请求的完整路径。 如果在 WEB OPEN 命令上引用 URIMAP 定义,那么此路径将成为与该连接相关的 WEB SEND 命令的缺省路径。 如果在 WEB SEND 命令上引用了 URIMAP 定义,那么路径将用于该 WEB SEND 命令。 但是,该 URIMAP 定义的主机属性必须与 WEB OPEN 命令中为连接指定的主机匹配。
- PIPELINE(名称)
- 此属性用于 USAGE (PIPELINE)。 对于 USAGE (JVMSERVER) ,不推荐使用此属性。
当客户机使用此 URIMAP 定义指定的 URI 向 CICS 发出入站 Web Service 请求时, PIPELINE 指定 Web Service 的 PIPELINE 资源定义的 1-to 8 字符名称。 PIPELINE 资源定义提供有关消息处理程序的信息,这些消息处理程序对来自客户机的服务请求执行操作。 PIPELINE 资源 描述了这些资源定义。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
- PORT( {NO | 端口 } )
- 此属性仅适用于 USAGE (CLIENT) 和 USAGE (JVMSERVER) 选项。
对于 USAGE (CLIENT) , PORT 属性指定 CICS 应用程序在与服务器通信时使用的端口的十进制数。 该值必须是 1-65535 范围内的数字。
端口号与 HOST 值组合以确定此 URIMAP 的出站请求的目标。 只有在端口号不同于方案默认值时才指定端口号:80 用于不带 SSL 的HTTP,443 用于带 SSL 的HTTPS和HTTP。
如果在 HOST 属性中指定端口号,并在 PORT 属性中指定其他端口号,那么将返回错误。 如果未在 HOST 或 PORT 属性中指定端口号,那么将使用方案的缺省端口号。
对于 USAGE (JVMSERVER) , PORT 属性指定用于接收请求以访问 Liberty 概要文件服务器中运行的应用程序的端口号。
如果未指定 PORT 属性的值,那么 PORT 将设置为 NO 以指示未使用该属性。
- PROGRAM(名称)
- 此属性适用于 USAGE (SERVER) ,其中将提供应用程序生成的响应。PROGRAM 指定组成HTTP响应的用户应用程序的 1 至 8 个字符的名称。 对于作为HTTP服务器的CICS,除非指定了分析器或转换程序,或指定了模板名称或zFS文件,或指定了重定向,否则必须使用此属性。可接受的字符:
A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
如果将 ANALYZER 属性指定为 YES ,或者在转换器属性中指定了转换器程序,那么 PROGRAM 属性将用作分析器或转换器程序的输入,但可以被这些程序覆盖。 或者,可以将此属性留空,并让分析器或转换器程序指定此属性。
- REDIRECTTYPE( { 无 |TEMPORARY |PERMANENT } )
- 此属性用于 USAGE (SERVER) , USAGE (PIPELINE) 和 USAGE (ATOM)。
REDIRECTTYPE 指定与此 URIMAP 定义匹配的请求的重定向类型。 LOCATION 属性指定的URL在需要时用于重定向。
- NONE 表示不重定向请求。 LOCATION 属性指定的任何URL都将被忽略。
- TEMPORARY 表示临时重定向请求。 LOCATION 属性指定的URL用于重定向,响应使用的状态代码为 302(找到)。
- PERMANENT 表示永久重定向请求。 LOCATION 属性指定的URL用于重定向,响应使用的状态代码为 301(永久移动)。
您可以使用 SET URIMAP 命令来更改 REDIRECTTYPE 属性和 LOCATION 属性。
如果在创建 URIMAP 定义时指定了 REDIRECTTYPE (临时) 或 REDIRECTTYPE (永久) ,那么以下属性是可选的 :ANALYZER ,转换器, HFSFILE , PIPELINE , PROGRAM , TEMPLATENAME , TRANSACTION , USERID 和 WEBSERVICE。 如果在安装 URIMAP 定义后使用 CEMT 或 EXEC CICS 命令将 REDIRECTTYPE 属性设置为 NONE ,那么将激活 URIMAP 定义中指定的任何列出的属性。
- SCHEME({HTTP|HTTPS|IIOP|JMS})
- 此属性适用于所有 USAGE 选项。
SCHEME 指定应用 URIMAP 定义的 URI 的方案组件。 请勿包含 URI 中方案组件后面的定界符 :// (冒号和两个正斜杠)。
- HTTP
- HTTP请求(不使用 SSL)。
- HTTPS
- HTTPS请求(使用 SSL)。
- IIOP
- 保留
- JMS
- 保留
指定HTTP方案的 URIMAP 可接受使用HTTP方案或HTTPS方案发出的网络客户端请求。 指定HTTPS方案的 URIMAP 只接受使用HTTPS方案发出的网络客户端请求。 但是,如果传输是IBM MQ,指定HTTP方案或HTTPS方案的 URIMAP 会接受使用HTTP方案或HTTPS方案发出的网络客户端请求。
通过 SSL(ATTLSAWARE) TCPIPSERVICE 到达的入站HTTP请求必须使用安全连接,因此始终被视为HTTPS。
- SOCKETCLOSE( { 0 | 时分秒 } )
- 该属性用于 USAGE (CLIENT)。
SOCKETCLOSE 指定在CICS应用程序使用完客户端HTTP连接后,CICS是否将其保持打开状态,以及保持多久。 使用之后,CICS 会检查连接状态,然后将其置于处于休止状态的池中。 休止的连接可供同一应用程序或者其他连接至相同主机和端口的应用程序复用。
- 0
- CICS会在CICS应用程序结束使用时关闭每个客户HTTP连接。 CICS不会将连接放入池中重复使用。
- 小时分秒
- 当CICS应用程序完成客户端HTTP连接的使用时,CICS会检查连接的状态,并将其放入池中以供重用。 在此处指定的时间长度之后,将废弃未复用的休眠连接。
连接池可为用于CICS事件处理的HTTPEP 适配器提供性能优势,或在CICS网络支持应用程序的多次调用对同一主机和端口提出连接请求时,或在网络服务应用程序提出多个请求和响应时也是如此。 要激活连接池,应用程序必须在 INVOKE SERVICE 或 WEB OPEN 命令上指定 URIMAP 资源。 有关连接池的更多信息,请参阅连接池提高HTTP客户端性能。
- STATUS( { 已启用 |DISABLED } )
- 此属性适用于所有 USAGE 选项。
STATUS 指定是将 URIMAP 定义安装为已启用还是已禁用状态。 缺省状态为已启用。
对于 CICS 束动态生成的 URIMAP 资源,将忽略此属性。 URIMAP 资源的初始状态派生自定义该资源的捆绑软件的初始状态。
- TCPIPSERVICE(名称)
- 此属性用于 USAGE (SERVER) , USAGE (PIPELINE) 和 USAGE (ATOM)。
TCPIPSERVICE 使用 PROTOCOLHTTP)指定 TCPIPSERVICE 资源定义的 1 至 8 个字符名称,该资源定义了与 URIMAP 定义相关的入站端口。 如果未指定此属性,那么 URIMAP 定义将应用于任何入站端口上的请求。
可接受的字符:A-Z 0-9 $ @ #
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
除非使用 CREATE 命令,否则您输入的任何小写字符都将转换为大写。
当以HTTPS作为方案的 URIMAP 定义与 Web 客户端发出的请求相匹配时,CICS会检查请求使用的入站端口是否使用 SSL。 如果没有为该端口指定 SSL,那么将拒绝该请求,状态码为 403(禁止)。 当 URIMAP 定义应用到所有入站端口时,该检查会确保 Web 客户机无法使用不安全的端口来访问安全的资源。 由于不会对指定了 HTTP 方案的 URIMAP 定义执行任何检查,所以 Web 客户机可以使用非安全或安全的 (SSL) 端口访问这些资源。
指定对 TCPIPSERVICE 资源定义中的每个端口应用的安全措施。 您可以选择是否使用 SSL ,如果使用 SSL ,那么需要选择应用的确切安全措施,例如,认证方法,客户机和服务器发送证书以及消息加密。 请参阅 针对 CICS Web Support 的安全性 ,以获取有关可用于确保 CICS Web Support 设施安全的安全性功能的更多信息。
- TEMPLATENAME(名称)
- 此属性适用于 USAGE (SERVER) ,其中将提供静态响应。
TEMPLATENAME 指定 1 至 48 个字符的CICS文档模板名称,该模板构成静态响应的正文,从 Web 客户端发送到HTTP请求。 它必须使用 DOCTEMPLATE 资源定义进行定义,并且该定义的 TEMPLATENAME 属性指定 URIMAP 定义中使用的名称。 更多信息,请参阅CICS文档和文档模板。
可接受的字符:A-Z a-z 0-9 $ @ #./ - _ % &?!:| " = ¬,; < >
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
如果指定 TEMPLATENAME 或 HFSFILE ,那么必须将 ANALYZER 设置为 NO。 仅与应用程序生成的响应 (事务,转换器和程序) 相关的其他属性必须保留为空。
如果要使用路径匹配,请在 CICS 文档模板的名称末尾以及 PATH 属性指定的路径末尾包含星号作为通配符。 CICS将通配符覆盖的HTTP请求路径部分替换为模板名称的最后一部分。
例如,您可以使用指定为findout/about/*的 PATH 属性和指定为templates.facts.*的 TEMPLATENAME 属性来创建 URIMAP 定义。 URIMAP 定义用于处理传入的HTTP请求:http://www.example.com/findout/about/fish.htmlCICS 将
fish.html附加到 URIMAP 定义中指定的模板名称,以代替星号,以便模板 templates.facts.fish.html 用于构成静态响应。为 TEMPLATENAME 属性单独指定星号意味着所选模板的名称与URL中与 PATH 属性中通配符相对应的部分相同。
指定 TEMPLATENAME 属性时,如果 URI 上存在查询字符串,但未在 PATH 属性中使用,那么 CICS 会自动将查询字符串的内容作为符号列表传递到指定的 CICS 文档模板中。 如果要在文档模板中使用查询字符串的内容,请在文档模板中包含相应的变量以替换查询字符串的内容。
- TRANSACTION(名称)
- 此属性用于 USAGE (SERVER) , USAGE (PIPELINE) USAGE (ATOM) 和 USAGE (JVMSERVER)。
TRANSACTION 指定要用于运行应用程序或启动管道的别名事务的 1-4 字符名称。
可接受的字符:A-Z a-z 0-9 $ @ #./ - _ % &?!:| " = ¬,; < >
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
对于每种类型的 URIMAP ,缺省别名事务都不同:
- USAGE (SERVER) 使用 CWBA 事务
- USAGE (PIPELINE) 使用 CPIH 事务
- USAGE (ATOM) 使用 CW2A 事务
- USAGE (JVMSERVER) 使用 CJSA 事务
出于安全性,监视和记帐或事务类限制的目的,您可以选择其他事务名称。 无论您为别名事务选择什么名称,它都必须始终运行由 USAGE 属性确定的同一程序,并覆盖事务定义中指定的任何程序:- 对于 USAGE (SERVER) ,该程序是 DFHWBA ,它链接到 URIMAP 定义的 PROGRAM 属性中指定的应用程序或分析器程序指定的应用程序。
- 对于 USAGE (PIPELINE) ,程序为 DFHPIDSH ,它启动在 PIPELINE 属性中指定的管道以及在 WEBSERVICE 属性中指定的 Web Service (如果指定)。
- 对于 USAGE (ATOM) ,程序为 DFHW2A,即 W2 域别名程序。
- 对于 USAGE (JVMSERVER) ,程序为 DFHSJTHP ,它在 JVM 服务器中为应用程序请求运行任务。
仅对于 USAGE (SERVER) ,如果将 ANALYZER 属性指定为 YES ,那么 TRANSACTION 属性将用作分析器程序的输入,但分析器程序可以覆盖它。 或者,可以将此属性留空,并让分析器程序指定此属性。 分析器不用于其他类型的 URIMAP。
- URIMAP(名称)
- 指定此 URIMAP 定义的名称。 该名称的最大长度为 8 个字符。 该属性以混合大小写形式指定,并且该大小写保留在 URIMAP 定义中。可接受的字符:
A-Z a-z 0-9 $ @ #./ - _ % &?!:| " = ¬,; < >
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
- USAGE( { 服务器 |CLIENT |PIPELINE |ATOM |JVMSERVER } )
- 指定此 URIMAP 定义是用于作为HTTP服务器 (SERVER) 的CICS、作为HTTP客户端 (CLIENT) 的CICS、网络服务 (PIPELINE)、Atom feed (ATOM) 还是 JVM 服务器 (JVMSERVER)。 USAGE 属性控制可以使用 URIMAP 定义中的哪些其他属性。
- 指定 SERVER 时,将为作为HTTP服务器的CICS创建 URIMAP 定义。 这种类型的 URIMAP 定义用于将入局 HTTP 请求的 URI 从 Web 客户机映射到 CICS 资源。 可以提供由应用程序生成的响应或静态响应。 需要应用程序生成的响应的请求可能有资格由直接连接的用户事务处理,并绕过 Web 连接任务。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
- 指定 CLIENT 时,将为作为HTTP客户端的CICS创建 URIMAP 定义。 当CICS请求服务器上的HTTP资源时,就会使用这种 URIMAP 定义,这样就可以避免在应用程序中识别 URI。
- 指定 PIPELINE 时,将为 Web Service 创建 URIMAP 定义。 此类型的 URIMAP 定义用于入站 Web Service 请求; 即客户机在 CICS中调用 Web Service 的请求。 入局请求的 URI 与 WEBSERVICE 和 PIPELINE 资源相关联,这些资源指定了要在消息上执行的处理。 请求可能有资格由直接连接的用户事务处理,并绕过 Web 连接任务。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
- 指定 ATOM 时,将为 Atom 订阅源创建 URIMAP 定义。 此类型的 URIMAP 定义用于针对 CICS 作为 Atom 订阅源提供的数据的入局请求。 URIMAP 定义将请求 URI 映射到定义 Atom 文档的 ATOMSERVICE 资源定义。 请求可能有资格由直接连接的用户事务处理,并绕过 Web 连接任务。 更多信息,请参阅HTTP请求由直接附加的用户事务处理。
- 指定 JVMSERVER 时,将为 JVM 服务器中运行的 Web 应用程序创建 URIMAP。 此类型的 URIMAP 用于将入局应用程序请求映射到 CICS 事务。 如果没有 URIMAP 与入局请求的 URI 匹配,那么 CICS 将使用 CJSA 事务。
- USERID(标识)
- 此属性用于 USAGE (SERVER) ,其中将提供应用程序生成的响应, USAGE (PIPELINE) , USAGE (JVMSERVER) 和 USAGE (ATOM)。
USERID 指定可由任何客户机使用的 1-to 8 字符缺省用户标识。 对于应用程序生成的响应或 Web Service ,将在此用户标识下附加别名事务。
对于 USAGE (JVMSERVER) ,用户标识用于连接事务以在 Liberty 概要文件服务器中运行工作。 可以在 URI 映射中指定事务,也可以使用缺省事务 CJSA。 如果启用了基本身份验证,则不会使用用户 ID;CICS希望在应用程序请求的HTTP头中提供用户 ID 和密码,如果身份验证失败,则会拒绝请求。 如果未启用安全性,且HTTP头或 URI 映射中没有用户 ID,则使用CICS区域的默认用户 ID。
对于其他用法类型,当连接需要认证时,如果 CICS 直接从客户机请求已认证的用户标识,那么将不使用在 URIMAP 定义中指定的缺省用户标识。 改为使用客户机的已认证用户标识,或者,如果认证失败,则拒绝请求。 认证过程由连接的 TCPIPSERVICE 定义的 AUTHENTICATION 属性指定。
对于应用程序生成的响应,如果指定了 ANALYZER (YES) ,那么 USERID 属性将用作分析器程序的输入,但分析器程序可以将其覆盖。 或者,可以将此属性留空,并让分析器程序指定此属性。 仅当指定了 USAGE (SERVER) 时,才会使用分析器。 分析器程序也可以更改客户机指定的用户标识。 如果所提及的任何方法都未指定用户标识,那么应用程序生成的响应的缺省用户标识是 CICS 缺省用户标识。
对于静态响应, USERID 属性不适用。 可以使用客户机的已认证用户标识来执行静态响应的资源安全性检查。
当您安装指定 USERID 属性的 URIMAP 资源定义时,或者当您修改此属性时, CICS® 会检查执行操作的用户标识是否被授权为为 USERID 属性指定的用户标识的代理用户。 这也适用于在 CICS 冷启动或初始启动上进行组列表安装期间的 CICS 区域用户标识。 有关信息,请参阅 代理安全性。
- WEBSERVICE(名称)
- 此属性用于 USAGE (PIPELINE)。 对于 USAGE (JVMSERVER) ,不推荐使用此属性。
当客户机使用此 URIMAP 定义指定的 URI 向 CICS 发出入站 Web Service 请求时, WEBSERVICE 指定 Web Service 的名称。 此名称可以是 WEBSERVICE 资源定义的 1-to 8 字符名称,也可以是混合大小写的名称 (最多 32 个字符) ,表示由 CICS Web Service 助手生成的 Web Service。
可接受的字符:A-Z a-z 0-9 $ @ #./ - _ % &?!:| " = ¬,; < >
当代码页为 IBM-037时,有效字符将按其呈现方式列出。 如果使用不同的 EBCDIC 代码页,请注意 变体角色 中记录的变体字符。
WEBSERVICE 资源定义在 Web Service 设置中部署的 CICS 应用程序的运行时环境的各个方面,其中应用程序数据结构与 SOAP 消息之间的映射是使用 CICS 工具生成的。
这是可选属性。 但是,如果未对 USAGE (PIPELINE) 指定 WEBSERVICE 资源,那么必须由管道中的处理程序解析 WEBSERVICE 名称,或者必须使用替代应用程序或终端处理程序来代替 WEBSERVICE 资源。
