当您开发使用 IMS Connector for Java 的 Java™ 程序时,可能会遇到程序抛出异常的情况。这些异常有些是由 IMS Connector for Java 抛出的,而其它异常则是由 IMS Connector for Java 使用的类库(例如,Java 类库)抛出的。本主题提供了有关 IMS Connector for Java J2C 应用程序生成的异常信息。
在下面的消息描述中,用斜体显示的下列术语在运行时将被替换为具体的值。
当检测到错误情况时,使用 Java 2 Platform, Enterprise Edition(J2EE)连接器体系结构(J2C)类库构建的应用程序就会产生下列异常消息。
javax.resource.spi.EISSystemException: ICO0001E:methodname 错误。 IMS Connect 返回的错误: RETCODE=[returncode],REASONCODE=[reasoncode]。 reasoncode_string。
说明:IMS Connect 返回的错误。将不会重用出错的连接。reasoncode_string 提供对 reasoncode(如果有的话)的简要描述。
用户操作:检查 MVS™ 控制台并找到相关联的 IMS Connect 错误消息。IMS Connect 错误消息以字符“HWS”开头。有关返回码(returncode)和原因码(reasoncode)值的诊断信息以及 IMS Connect 错误消息,请参阅 IMS Connect Guide and Reference。
javax.resource.spi.EISSystemException: ICO0002E:methodname 错误。 IMS OTMA 返回的错误: SENSECODE=[sensecode],REASONCODE=[otmareasoncode]。 [source_methodname:source_exception]
说明:IMS OTMA 返回 NAK 错误。
未启用 IMS 进行 RRS 处理。确保 IMS 在启用了 RRS 的情况下进行“受保护对话”处理。有关更多信息,请参阅两阶段落实先决条件。
IMS Connect 和 IMS Connector for Java 都不支持 RRS 和两阶段落实处理。确保 IMS Connect 和 IMS Connector for Java 的版本至少都是版本 2.1.0 或更高版本。
javax.resource.spi.CommException: ICO0003E:methodname 错误。 无法连接至主机 [hostname], 端口 [portnumber]。 [java_exception]
说明:IMS Connector for Java 未能连接至主机和端口。java_exception 指示了连接失败的原因。有关其它信息,请参阅下面的“用户操作”部分。
您在配置应用程序所使用的连接工厂时指定的主机名无效,或者应用程序指定了无效主机名。检查主机名的拼写是否正确。可能需要使用主机名或 IP 地址的标准路径。
javax.resource.spi.CommException: ICO0005E:methodname 错误。 发送或接收 IMS 消息时发生了通信错误。 [java_exception]
说明:IMS Connector for Java 未能成功地完成与目标 IMS Connect 之间的发送和接收交互。java_exception 指示未能完成该交互的原因。有关其它信息,请参阅下面的“用户操作”部分。
用户操作:检查 java_exception 以确定该故障的原因。java_exception 的一些值是:
javax.resource.ResourceException: ICO0006E:methodname 错误。 为 DataStoreName 提供的值为 null 或者空字符串。
说明:使用空的 DatastoreName 参数调用了 methodname 中所指示的方法。当使用空的 DatastoreName 参数启动连接工厂时,此错误消息就会出现在跟踪日志中。此消息后面将接着出现一条 J2EE 连接器警告:
J2CA0007W: 在对 Connection_Factory_JNDI_name 资源使用的 com.ibm.connector2.ims.ico.IMSManagedConnectionFactory 调用 setDataStoreName 方法时发生了异常。在 IMS Connect 发送响应之后,处理将继续导致其它错误消息,指出找不到具有 null 名称的数据存储器。触发其它消息的基本消息是:
javax.resource.spi.EISSystemException:ICO0001E: com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@.processOutputOTMAMsg(byte[],InteractionSpec, Record) 错误。IMS Connect 返回的错误:RETCODE=[4],REASONCODE=[NFNDDST ]。未找到数据存储器。当发生此错误时,在正在运行 IMS Connect 的主机的 MVS 控制台上就会显示相应的 HWSS0742W 警告消息。此 HWSS0742W 消息将提供一定空间来显示试图查找的数据存储器名称,但在这种情况下全部为空白:
DESTID= ;
用户操作:为 DatastoreName 参数提供有效名称。在受管环境中,DatastoreName 是在您配置“连接工厂”以供 WebSphere Application Server 使用时指定的。而在非受管环境中,DatastoreName 是在 Java 应用程序中指定的。
javax.resource.NotSupportedException: ICO0007E:methodname 错误。 [propertyName] 属性值 [propertyValue] 不受支持。
说明:为 propertyName 属性指定的值 propertyValue 不受支持。
用户操作:为指定的属性提供一个受支持的值。例如,此发行版的 IMS Connector for Java 中的 IMSInteractionSpec 类就不支持在 J2C 体系结构中为 InteractionSpec 类的 InteractionVerb 属性定义的某些值。
javax.resource.ResourceException: ICO0008E:methodname 错误。[propertyName] 属性的值 [propertyValue] 超过了最大允许长度 [maxPropertyLength]。
说明:为 propertyName 属性提供的值 propertyValue 的长度超过了 maxPropertyLength(这是 propertyName 属性值允许的最大长度)。
用户操作:为指定属性提供一个长度不超过 maxPropertyLength 的值。
javax.resource.ResourceException: ICO0009E:methodname 错误。 [propertyName] 属性值 [propertyValue] 无效。
说明:为 propertyName 属性指定的值 propertyValue 无效。
用户操作:提供一个对于指定属性有效的值。例如,IMSInteractionSpec 类的 Javadoc 中就列示了 IMS Connector for Java 的 InteractionSpec 类的 InteractionVerb 属性的有效值。请参阅 VisualAge® for Java 文档;通过单击“帮助”>“API 参考”> IBM API >“连接器”> IMS Connector >“com.ibm.connector2.ims.ico 包” >“IMSInteractionSpec 类的 setInteractionVerb 方法”就可以找到该文档。如果为 IMSRequestType 提供了错误的值也会产生此错误。
javax.resource.spi.IllegalStateException: ICO0010E:methodname 错误。 对无效的 IMSConnection 实例调用了方法。
说明:对无效的 IMSConnection 实例调用了 methodname 中所指示的方法。
用户操作:很可能对一个已关闭的 IMSConnection 实例发出了指定的方法。在试图使用或关闭 IMSConnection 实例之前确保它尚未关闭。
javax.resource.spi.IllegalStateException: ICO0011E:methodname 错误。 对无效的 IMSInteraction 实例调用了方法。
说明:对无效的 IMSInteraction 实例调用了 methodname 中所指示的方法。
用户操作:很可能对一个已关闭的 IMSInteraction 实例发出了指定的方法。在试图使用或关闭 IMSInteraction 实例之前确保它尚未关闭。
javax.resource.ResourceException: ICO0012E:methodname 错误。 为 HostName 提供的值为 null 或者空字符串。
说明:使用 null 或空的 HostName 参数调用了 methodname 中所指示的方法。
用户操作:提供有效的 HostName 参数。在受管环境中,属性值是在您配置“连接工厂”以供 WebSphere Application Server 使用时指定的。而在非受管环境中,属性值是在 Java 应用程序中指定的。
javax.resource.ResourceException: ICO0013E:methodname 错误。 ConnectionManager 为 null。
说明:调用了 methodname 中所指示的方法。应用程序服务器使用值为 null 的 ConnectionManager 对象调用了 IMSManagedConnectionFactory 类的 createConnectionFactory 方法。
用户操作:提供有效的 HostName 参数。这种形式的 createConnectionFactory 方法用于受管环境中。客户机程序通常不会调用这种方法。请与应用程序服务器的服务人员联系。
javax.resource.ResourceException: ICO0014E:methodname 错误。 输入记录不包含数据。
说明:使用一个不包含任何数据的输入记录调用了 methodname 中所指示的方法。
用户操作:验证您提供的输入记录是否是空的。
ResourceAdapterInternalException ICO0015E:methodname 错误。 当处理 OTMA 消息时遇到意外的错误。 [java_exception]
说明:当处理 OTMA 消息时遇到意外的内部错误。
用户操作:请与 IBM® 服务代表联系。
javax.resource.ResourceException: ICO0016E:methodname 错误。 为 DataStoreName 提供的值为 null 或者空字符串。
说明:使用空的 DatastoreName 参数调用了 methodname 中所指示的方法。当使用空的 DatastoreName 参数启动连接工厂时,此错误消息就会出现在跟踪日志中。此消息后面将接着出现一条 J2EE 连接器警告:
J2CA0007W: 在对 Connection_Factory_JNDI_name 资源使用的 com.ibm.connector2.ims.ico.IMSManagedConnectionFactory 调用 setDataStoreName 方法时发生了异常。在 IMS Connect 发送响应之后,处理将继续导致其它错误消息,指出找不到具有 null 名称的数据存储器。触发其它消息的基本消息是:
javax.resource.spi.EISSystemException:ICO0001E: com.ibm.connector2.ims.ico.IMSTCPIPManagedConnection@.processOutputOTMAMsg(byte[],InteractionSpec, Record) 错误。IMS Connect 返回的错误:RETCODE=[4],REASONCODE=[NFNDDST ]。未找到数据存储器。当发生此错误时,在正在运行 IMS Connect 的主机的 MVS 控制台上就会显示相应的 HWSS0742W 警告消息。此 HWSS0742W 消息将提供一定空间来显示试图查找的数据存储器名称,但在这种情况下全部为空白:
DESTID= ;
用户操作:为 DatastoreName 参数提供有效名称。在受管环境中,DatastoreName 是在您配置“连接工厂”以供 WebSphere Application Server 使用时指定的。而在非受管环境中,DatastoreName 是在 Java 应用程序中指定的。
ResourceAdapterInternalException ICO0017E:methodname 错误。 为 TraceLevel 提供的值无效。
说明:指定了无效的跟踪级别。
用户操作:指定有效的跟踪级别。(可选)其实可以忽略该异常,这是因为将对此连接工厂使用缺省跟踪级别。在此情况下,该连接工厂仍然可用,但是,跟踪级别将为缺省跟踪级别。关于有效的跟踪级别值,请参阅 VisualAge for Java 文档;通过单击“帮助”>“API 参考”> IBM API >“连接器”> IMS Connector >“com.ibm.connector2.ims.ico 包” >“IMSTraceLevelProperties 接口”就可以找到该文档。
javax.resource.ResourceException: ICO0018E:methodname 错误。 为 PortNumber 提供的值为 null。
说明:使用值为 null 的 PortNumber 调用了 methodname 中所指示的方法。
用户操作:提供有效的 PortNumber 参数。在受管环境中,属性值是在您配置“连接工厂”以供 WebSphere Application Server 使用时指定的。而在非受管环境中,属性值是在 Java 应用程序中指定的。
javax.resource.ResourceException: ICO0024E:methodname 错误。 输入对象中的段长度(LL)[llvalue] 无效。[java_exception]
说明:IMS 应用程序的 Java 程序为输入消息提供的段长度的值为:负数、0 或者大于消息段中的数据的字节数。
用户操作:为输入消息的段长度提供正确的值。
javax.resource.IllegalArgumentException: ICO0025E:methodname 错误。 OTMA 消息中的段长度(LL)[llvalue] 无效。
说明:IMS 应用程序为输出消息提供的段长度的值为:负数、0 或者大于消息段中的数据的字节数。IMS 应用程序提供的输出消息包含在 OTMA 消息中。
用户操作:确保 IMS 应用程序为它的输出消息中的各个段提供有效长度。
javax.resource.ResourceException: ICO0026E:methodname 错误。 处理 IMS 消息时遇到错误。 [source_methodname:source_exception]
说明:处理 IMS 事务输入或输出消息时出错。 source_exception 提供了有关错误原因的更多信息。
准备输入或输出记录时出错。确保为 J2C 体系结构正确定义了提供给 IMS Connector for Java 以用作 IMS 事务输入和输出的对象。例如,确保它们要实现 javax.resource.cci.Record 和 javax.resource.cci.Streamable 接口。当您使用 VisualAge for Java 的“企业访问构建器”来创建输入和输出记录时就会为您完成上述任务。
包含 IMS 事务输出消息的 OTMA 消息中包含无效的长度字段(即,LLLL 为 <= 0)。如果在验证 IMS 应用程序返回了有效输出消息之后仍然产生此错误,请与 IBM 服务代表联系。
从 IMS Connect 返回的输出消息无效。确保 IMS Connector for Java 和 IMS Connect 的发行版级别兼容。例如,如果使用 IMS Connector for Java V2.1 来构建一个处理事务所必需的 EJB 应用程序以通过 TCP/IP 执行两阶段落实事务,而您在运行时使用 IMS Connect V1.2 而不是 V2.1,则会产生此错误消息。因此,可以更新为 IMS Connect V2.1,或者创建一个非全局事务的 EJB 应用程序。
javax.resource.spi.ApplicationServerInternalException: ICO0030E:methodname 错误。 [source_methodname:source_exception]
说明:交互期间,在 methodname 中检测到运行时错误或异常。source_methodname:source_exception 指示最初发生在 methodname 中检测到的错误或异常的位置,还可能会提供有关该错误的原因的更多信息。
当 Java 虚拟机由于内存不足而垃圾收集器又无法使更多内存变得可用,从而无法分配某个对象时就会抛出此错误。增加可供 WAS 使用的虚拟机使用的内存量。
抛出 InterruptedIOException,指出输入或输出传输因执行它们的线程终止而终止。调查该线程终止的原因。
javax.resource.spi.IllegalStateException: ICO0031E:methodname 错误。 协议违例。交互动词 [interactionverb] 不可用于当前状态 [state]。 [java_exception]
说明:应用程序尝试执行的交互导致了协议违例。[interactionverb] 是用于交互的 IMSInteractionSpec 对象的 interactionVerb 属性的值。[state] 是用于 IMS Connector for Java 与 IMS Connect 之间的交互的协议的当前状态。
例如,如果 Java 程序没有与 IMS 进行对话,但是尝试了使用 interactionVerb 属性的 SYNC_END_CONVERSATION 值来与 IMS 进行交互,这样就会发生协议违例。
用户操作:确保对 IMSInteractionSpec 的 interactionVerb 属性使用正确的值。查阅 IMS Connector for Java 文档,以了解 IMS Connector for Java 支持的 interactionVerb 属性的值。IMS Connector for Java 的特定发行版可能无法支持“J2EE 连接器体系结构”定义的所有值。
javax.resource.NotSupportedException: ICO0034E:methodname 错误。 自动落实不受支持。
说明:IMS Connector for Java 当前不支持自动落实。
用户操作:确保 Java 应用程序使用适合于 IMS Connector for Java 当前提供的支持级别的类和方法。
javax.resource.NotSupportedException: ICO0035E:methodname 错误。 “本地事务”不受支持。
说明:IMS Connector for Java 当前不支持“本地事务”。
用户操作:确保 Java 应用程序使用适合于 IMS Connector for Java 当前提供的支持级别的类和方法。
javax.resource.NotSupportedException: ICO0037E:methodname 错误。 ResultSet 不受支持。
说明:IMS Connector for Java 当前不支持 ResultSet。
用户操作:确保 Java 应用程序使用适合于 IMS Connector for Java 当前提供的支持级别的类和方法。
javax.resource.spi.IllegalStateException: ICO0039E:methodname 错误。 未处于 CONNECT 状态。
说明:IMS Connector for Java 与 IMS Connect 之间的交互顺序无效。用于 IMS Connector for Java 与 IMS Connect 之间的交互的协议的当前状态不是 CONNECT,而交互中此时又要求它处于该状态。
用户操作:这很可能是 IMS Connector for Java 或 IMS Connect 中出错了。请与 IBM 服务代表联系。
javax.resource.NotSupportedException: ICO0040E:methodname 错误。 IMSConnector 不支持此版本的 execute 方法。
说明:IMS Connector for Java 不支持以下形式的 execute 方法:采用两个输入参数,并且返回 javax.resource.cci.Record 类型的对象。
用户操作:在 IMSInteraction 类中使用受支持的 execute 方法。受支持的 execute 方法具有以下特征:
boolean execute(InteractionSpec, Record input, Record output)
javax.resource.ResourceException: ICO0041E:methodname 错误。 指定了无效的 interactionSpec [interactionSpec]。
说明:将无效的 InteractionSpec 对象传递给了 com.ibm.connector2.ims.ico.IMSInteraction 类的 execute 方法。
用户操作:确保传递给 com.ibm.connector2.ims.ico.IMSInteraction 类的 execute 方法的 InteractionSpec 对象属于 com.ibm.connector2.ims.ico.IMSInteractionSpec 类型。
javax.resource.ResourceException: ICO0042E:methodname 错误。 输入类型不是 Streamable。
说明:对于“input”参数,为 com.ibm.connector2.ims.ico.IMSInteraction 的 execute 方法提供的输入对象或者为 null 或者未实现 javax.resource.cci.Streamable 接口。当将应用程序编写为使用 J2EE 连接器体系结构公共客户机接口(CCI)时就很可能发生此异常。如果使用 IBM 的其中一种集成开发环境(例如,WebSphere Studio Application Developer Integration Edition)来构建输入消息,就不会发生此异常。
对于某些类型的交互,execute 方法允许空输入对象。例如,interactionVerb 值为 SYNC_END_CONVERSATION 和 SYNC_RECEIVE_ASYNCOUTPUT 的交互就允许空输入对象。
用户操作:确保为 execute 方法的“input”参数提供有效的 javax.resource.cci.Record 对象。例如,确保此对象实现 javax.resource.cci.Record 和 javax.resource.cci.Streamable 接口。当使用 VisualAge for Java 的“企业访问构建器”、Rational Application Developer 或者 WebSphere Studio Application Developer Integration Edition 来创建 boolean IMSInteraction.execute(interactionSpec, input, output) 所使用的“输入”(input)和“输出”(output)对象时,就会自动替您完成上述任务。
javax.resource.ResourceException: ICO0043E: methodname 错误。 输出类型不是 Streamable。
说明:为 com.ibm.connector2.ims.ico.IMSInteraction 的 execute 方法提供的输出对象或者为 null 或者未实现 javax.resource.cci.Streamable 接口。当将应用程序编写为使用 J2EE 连接器体系结构公共客户机接口(CCI)时就很可能发生此异常。如果使用 IBM 的其中一种集成开发环境(例如,WebSphere Studio Application Developer Integration Edition)来构建输出消息,就不会发生此异常。
用户操作:确保为 execute 方法提供有效的输出对象。
javax.resource.NotSupportedException: ICO0044E:methodname 错误。 IMS Connector for Java 不支持 RecordFactory。
说明:IMS Connector for Java 当前不支持 RecordFactory。
用户操作:确保 Java 应用程序使用适合于 IMS Connector for Java 当前提供的支持级别的类和方法。
javax.resource.NotSupportedException: ICO0045E:methodname 错误。 ConnectionRequestInfo 的类型无效。
说明:将无效的 ConnectionRequestInfo 对象传递给了 IMS Connector for Java 方法。
用户操作:这很可能是 IMS Connector for Java 中出错了。请与 IBM 服务代表联系。
javax.resource.NotSupportedException: ICO0049E:methodname 错误。 传递给 getConnection 的安全凭证与现有安全凭证不匹配。
说明:请求中的安全凭证与用来处理该请求的 IMSManagedConnection 实例的安全凭证不匹配。
用户操作:请与 IBM 服务代表联系。
javax.resource.ResourceException: ICO0053E:methodname 错误。 无效 clientID 值。前缀 HWS 是 IMS Connector for Java 的保留项。
说明:为 clientID 属性指定的值无效。前缀“HWS”是 IMS Connector for Java 的保留项。
javax.resource.ResourceException: ICO0054E:methodname 错误。 ConnectionSpec 无效。
说明:IMS Connector for Java 未能将为此连接提供的 connectionSpec 强制转换为 IMSConnectionSpec 类型。虽然“公共客户机接口”将接受任何受支持的连接器的 connectionSpec 对象,但是,IMS Connector for Java 将只与 IMSConnectionSpec 协同工作,或者使用变型 IMSConnectionSpec 作为它的 connectionSpec。
用户操作:确保应用程序使用的 connectionSpec 是 IMSConnectionSpec 或者继承于 IMSConnectionSpec。
javax.resource.ResourceException: ICO0055E:methodname 错误。 不能将连接对象强制类型转换为 IMSConnection。
说明:IMS Connector for Java 未能将 ConnectionManager 为此连接分配的连接对象强制转换为 IMSConnection 类型。IMS Connector for Java 只能使用 IMSConnection 或者 IMSConnection 变型作为它的连接对象。此错误可能是由于 ConnectionManager 存在的问题造成的。
用户操作:请与 IBM 服务代表联系。
javax.resource.spi.IllegalStateException: ICO0057E:methodname 错误。 使用了无效的连接句柄进行调用。
说明:应用程序处于非法状态:用于此交互的连接句柄(IMSConnection 实例)无效。在应用程序打开了多个连接的情况下,如果应用程序试图使用先前使用过的连接的连接句柄或者使用错误连接的连接句柄,就可能会发生该错误。
用户操作:确保应用程序为该连接使用当前有效的 IMSConnection 实例。
javax.resource.ResourceException: ICO0058E:methodname 错误。 对于“本地选项”协议,采用落实方式 0 的 SYNC_SEND_RECEIVE、SYNC_SEND、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互不受支持。
说明:仅当应用程序在选择了“落实方式 1”的情况下使用 IMS Connector for Java 时,才能使用“本地选项”协议与 IMS Connect 进行通信。
用户操作:确保应用程序在选择了“落实方式 1”的情况下使用 IMS Connector for Java。如果您打算采用“落实方式 0”运行应用程序,则将该应用程序更正为使用 TCP/IP 通信。
javax.resource.ResourceException: ICO0059E:methodname 错误。 在“落实方式 0”下进行 SYNC_END_CONVERSATION 交互不受支持。
说明:在“落实方式 0”下进行 SYNC_END_CONVERSATION 交互不受支持。
用户操作:IMS Connector for Java 支持下列交互组合:SYNC_END_CONVERSATION 与落实方式 1、SYNC_SEND_RECEIVE 与落实方式 0 以及 SYNC_RECEIVE_ASYNCOUTPUT 与落实方式 0。
java.lang.UnsatisfiedLinkError: ICO0060E:methodname 错误。 装入“本地选项”本机库出错:libname=libraryFileName。[source_exception]。
说明:在 libpath 中列示的任何目录中都找不到“本地选项”本机库。
用户操作:确保在 LIBPATH 环境变量的其中一个目录中存在“本地选项”本机库。如果您正在 WebSphere Application Server for z/OS® and OS/390® 中运行 IMS Connector for Java,则应确保在 J2EE 服务器的 LIBPATH 环境变量中定义了包含“本地选项”本机库文件的目录的全名。有关更多信息,请参阅“准备 WebSphere Application Server 环境用于 z/OS 和 OS/390”。
javax.resource.ResourceException: ICO0061E:methodname 错误。 “本地选项”仅在 z/OS 和 OS/390 中运行。
说明:仅当使用 IMS Connector for Java 的应用程序在 z/OS 或 OS/390 平台上运行时,才可以使用“本地选项”来与 IMS Connect 进行通信。
用户操作:确保使用 IMS Connector for Java 的应用程序是在 z/OS 或 OS/390 上运行。注意,应用程序(更准确地说,是正在运行应用程序的 Web 服务器)还必须与 IMS Connect 在同一 MVS 映像中运行。如果不是这种情况,例如,您打算在工作站平台上运行应用程序;或者,您打算用来运行应用程序的 Web 服务器位于 z/OS 上,但是它与 IMS Connect 位于不同的 MVS 映像中,则应确保将该应用程序使用的连接工厂设置为使用 TCP/IP 通信。
javax.resource.ResourceException: ICO0062E:methodname 错误。 装入“本地选项”本机方法出错:libfilename=libraryFileName, methodname=nativeMethodName。[source_exception]。
说明:找不到“本地选项”本机方法。
用户操作:验证在您的系统上安装了正确级别的 IMS Connector for Java 资源适配器和“本地选项”本机库。始终要使用随安装在 WebSphere Application Server for z/OS and OS/390 系统中的 IMS 资源适配器一起交付的“本地选项”本机库的版本。有关更多信息,请参阅“使用 IMS Connector for Java 的先决条件”。
javax.resource.spi.ResourceAdapterInternalException: ICO0063E:methodname 错误。 本机方法中抛出了异常。[source_exception]。
说明:“本地选项”本机方法中发生了内部错误。
用户操作:请与 IBM 服务代表联系。
javax.resource.spi.SecurityException: ICO0064E:methodname 错误。 无效的安全凭证。
说明:WebSphere Application Server 所提供的主题中不包含 IMS Connector for Java 支持的可用安全凭证。
用户操作:确保安装了正确级别的 WebSphere Application Server for z/OS and OS/390。有关详细信息,请参阅“使用 IMS Connector for Java 的先决条件”一节。配置 WebSphere Application Server for z/OS and OS/390 以提供 IMS Connector for Java 支持的安全凭证。IMS Connector for Java 支持 TCP/IP 连接的 PasswordCredential 和“本地选项”连接的 UToken GenericCredential。
javax.resource.spi.SecurityException: ICO0065E:methodname 错误。 从安全凭证获取凭证数据出错。[source_exception]。
说明:从应用程序服务器提供的安全凭证中获取凭证数据时发生与安全性相关的错误。
用户操作:确保正确设置了应用程序服务器的安全性,以便与调用程序相关联的用户有权从安全凭证中抽取数据。
javax.resource.ResourceException: ICO0066E:methodname 错误。装入“WebSphere Application Server 事务管理器”时出错。[source_exception]。
说明:访问 WebSphere Application Server 的“事务管理器”以处理事务请求时出错。
用户操作:确保安装了正确级别的 WebSphere Application Server for z/OS and OS/390。有关详细信息,请参阅“使用 IMS Connector for Java 的先决条件”一节。
javax.resource.ResourceException: ICO0068E:methodname 错误。 获取事务对象时出错。[java_exception]
说明:尝试使用“WebSphere Application Server 事务管理器”来确定一个事务是否已启动时出错。
用户操作:确保安装了正确级别的 WebSphere Application Server for z/OS and OS/390。有关详细信息,请参阅“使用 IMS Connector for Java 的先决条件”一节。
javax.resource.spi.ResourceAllocationException ICO0069E:methodname 错误。 获取 RRS 事务上下文标记出错。IMSConnResourceException:RRS retcode=[rrs_routinecode]。
说明:获取 RRS 事务上下文标记以处理全局事务时发生了意外的内部错误。
用户操作:检查 RRS 作业日志以获取相关联的 RRS 错误消息。有关 RRS 返回码(rrs_routinecode)的诊断信息,请参阅您所使用的 z/OS 或 OS/390 发行版的 MVS Programming: Resource Recovery 手册。
javax.resource.spi.EISSystemException ICO0070E:methodname 错误。 IMS Connect 报告了 RRS 错误:IMS Connect 返回码 = [returncode],RRS 例程名 = [rrs_routine],RRS 返回码 = [rrs_routinecode]。
说明:IMS Connect 返回了因 RRS 故障而产生的错误。
用户操作:检查 MVS 控制台以获取相关联的 IMS Connect 和 RRS 错误消息。有关返回码(returncode)值的诊断信息以及 IMS Connect 错误消息,请参阅 IMS Connect Guide and Reference。有关 RRS 返回码(rrs_routinecode)的诊断信息,请在您所使用的 z/OS 或 OS/390 发行版的 MVS Programming: Resource Recovery 手册中找到 RRS 例程名(rrs_routine)。
javax.transaction.xa.XAException ICO0071E:methodname 错误。 处理 XA commandtype 操作时发生通信错误。 [java_exception]
说明:在处理全局事务期间发生通信故障有许多原因。可能发生了 TCP/IP 或套接字故障,也可能是 IMS Connect 已停止。将不会重用出错的连接。
用户操作:检查 java_exception 以确定连接至主机时发生故障的原因。还要检查 MVS 控制台以获取相关联的 IMS Connect 或 TCP/IP 错误消息。验证通过 TCP/IP 可以访问机器,并且 IMS Connect 尚未停止。错误消息中所显示的命令类型(commandtype_string)表示发生此通信故障时在全局事务中所处的阶段:准备、落实、回滚、恢复或忘记。
javax.transaction.xa.XAException: ICO0072E:methodname 错误。 未找到 Xid 的相关联的 UR。
说明:在事务处理期间,因人工干预或者因 IMS Connect 或 RRS 中的错误而消除了与特定 Xid 相关联的 UR。
用户操作:有关如何从 WebSphere Application Server 日志中获取事务信息和 Xid 的步骤,请参阅 WebSphere Application Server InfoCenter Reference Library。有关将列出 Xid 及其相关联的 UR 的 IMS Connect 命令,请参阅 IMS Connect Guide and Reference。验证列出了该 Xid 的 UR。验证全局事务未处于试探状态。
javax.transaction.xa.XAException: ICO0073E:methodname 错误。 RRS 不可用。
说明:RRS 已停止,或者 RRS 与 IMS Connect 之间的通信已结束。
用户操作:检查 MVS 控制台以获取相关联的 IMS Connect 和 RRS 错误消息。确保 RRS 在 z/OS 或 OS/390 系统上尚未停止。有关可以用来验证是否已启用 RRS 的 IMS Connect 命令,请参阅 IMS Connect Guide and Reference。
javax.transaction.xa.XAException: ICO0074E:RRS rrs_routine 调用返回了返回码 [rrs_routinecode]。
说明:在处理全局事务期间,IMS Connect 产生了以下 RRS 错误消息。
用户操作:检查 MVS 控制台以获取相关联的 IMS Connect 和 RRS 错误消息。有关 RRS 返回码(rrs_routinecode)的诊断信息,请在您所使用的 z/OS 或 OS/390 发行版的 MVS Programming: Resource Recovery 手册中找到 RRS 例程名(rrs_routine)。
javax.transaction.xa.XAException: ICO0075E:methodname 错误。 可能已经试探性地完成了事务分支。[rrs_exception]
说明:IMS Connect 产生了一个 RRS 错误,指示事务的处理因此受到影响,从而处于试探状态。因此,该事务就有可能一部分已落实,而另一部分在落实阶段遇到了错误,该错误将阻止它进行落实。rrs_exception 是 ICO0074E 错误消息,指出与此问题相关联的 RRS 例程和返回码。
用户操作:参阅 ICO0074E 错误的文档,以获取关于 RRS 错误消息的更多信息。有关如何从 WebSphere Application Server 日志中获取事务信息和 Xid 的步骤,请参阅 WebSphere Application Server InfoCenter Reference Library。有关将列出 Xid 及其相关联的 UR 的 IMS Connect 命令,请参阅 IMS Connect Guide and Reference。确定涉及到的 Xid 和 UR 以及应该已经落实至 IMS 的结果。验证 IMS 中的值以确保出现了试探状态。然后,必须决定执行一些操作来纠正 IMS 中的数据,以便使它与已经落实的结果相匹配;或者纠正涉及到的其它数据库,以返回到执行该事务之前的状态。
javax.resource.ResourceException: ICO0076E:methodname 错误。发生了内部错误。 [rrs_exception]
说明:尝试抽取有关 IMS Connect 产生的 RRS 错误消息的信息时发生了内部错误。rrs_exception 是 ICO0074E 错误消息,指出与该错误相关联的 RRS 例程和返回码。
用户操作:参阅 ICO0074E 错误的文档,以获取关于已经发生的 RRS 故障的更多信息。请与 IBM 服务代表联系。
javax.resource.ResourceException: ICO0077E:methodname 错误。事务已回滚。[rrs_exception]
说明:IMS Connect 产生了一个 RRS 错误,指示已经再次尝试对同一个 UR 回滚事务。RRS 将阻止进行第二次回滚,并且会抛出一个错误,指出正在尝试执行这样一个操作。rrs_exception 是 ICO0074E 错误消息,指出与该错误相关联的 RRS 例程和返回码。
用户操作:不需要执行任何操作,因为应该回滚该事务。参阅 ICO0074E 错误的文档,以获取关于已经发生的 RRS 故障的更多信息。作为一种预防措施,验证数据在执行事务之前尚未丢失或修改。
javax.resource.ResourceException: ICO0078E:methodname 错误。 在专用持久连接上,采用落实方式 0 的 SYNC_SEND_RECEIVE、SYNC_SEND 和 SYNC_RECEIVE_ASYNCOUTPUT 交互需要用户指定的有效 ClientID。
说明:当为 commitMode 属性指定的值为 0,并且交互正在使用专用持久套接字连接时,需要为 clientID 属性指定一个有效的、用户指定的值。这适用于 SYNC_SEND_RECEIVE、SYNC_SEND 和 SYNC_RECEIVE_ASYNCOUTPUT 交互。
com.ibm.connector2.ims.ico.IMSDFSMessageException: ICO0079E:methodname 错误。 IMS 返回 DFS 消息:DFS_message
说明:IMS 返回了由 DFS_message 指示的消息,而不是返回 IMS 事务的输出。如果交互对 IMSInteractionSpec 的 imsRequestType 属性使用值 IMS_REQUEST_TYPE_IMS_TRANSACTION,则会抛出此异常。
DFS065 hh:mm:ss TRAN/LTERM STOPPED
用户操作:在 IMS Messages and Codes 文档中找到与 DFS_message 相对应的说明和响应,然后解决 IMS 中的问题。
javax.resource.spi.EISSystemException: ICO0080E:methodname 错误。 此交互发生执行超时。executionTimeout 为 [executionTimeout_value] 毫秒。使用了 IMS Connect TIMEOUT。
说明:IMS Connect 将消息发送至 IMS 并从 IMS 接收响应所花的时间超过了 IMS Connect TIMEOUT 值。IMS Connect TIMEOUT 值是在 IMS Connect 配置成员中指定的。之所以使用了 IMS Connect TIMEOUT 值,是因为没有指定此交互的 executionTimeout 属性或者已经将该属性设置为零。
用户操作:确保应用程序设置了有效的 executionTimeout 值。要设置 executionTimeout 值,可以使用 Rational Application Developer 和 WebSphere Studio,也可以使用 setExecutionTimeout 方法。有关详细的指示信息,请参阅设置执行超时值这一主题。
javax.resource.spi.EISSystemException: ICO0081E:methodname 错误。 此交互发生执行超时。指定的 executionTimeout 值为 [executionTimeout_value] 毫秒。IMS Connect 使用的值为 [rounded_executionTimeout_value] 毫秒。
说明:IMS Connect 将消息发送至 IMS 并从 IMS 接收响应所花的时间超过了舍入到适当的执行超时时间间隔的 executionTimeout 值。一旦设置了有效的执行超时值,就会将此值转换为 IMS Connect 可以使用的值。
用户操作:如果执行舍入之后的执行超时值不是您期望的值,请按照下表中的转换规则进行验证:
用户指定的值的范围 | 转换规则 |
1 - 250 | 如果用户指定的值不能被 10 除尽,则将它转换为下一个更大的、10 的整数倍值。 |
251 - 1000 | 如果用户指定的值不能被 50 除尽,则将它转换为下一个更大的、50 的整数倍值。 |
1001 - 60000 | 如果用户指定的值不能被 1000 除尽,则将它转换为下一个更大的、1000 的整数倍值。刚好在 1000 的两个整数倍之间的值将被转换为下一个更大的、1000 的整数倍值。 |
60001 - 3600000 | 用户指定的值将被转换为最接近的、60000 的整数倍值。刚好在 60000 的两个整数倍之间的值将被转换为下一个更大的、60000 的整数倍值。 |
有关更多示例,请参阅有效的执行超时值这一主题。
javax.resource.NotSupportedException: ICO0082E:methodname 错误。 此交互发生执行超时。executionTimeout 值 [{executionTimeout_value}] 毫秒不受支持。有效范围是 [{executionTimeout_waitforever_flag}, 0 - {maximum_executionTimeout_value}] 毫秒。使用了 IMS Connect TIMEOUT。
说明:为 executionTimeout 属性指定的执行超时值低于最小值或者高于最大值。
用户操作:确保应用程序对 executionTimeout 属性设置了有效值。执行超时值是以毫秒表示的,它必须是 1 到 3600000 范围内的十进制整数(包含 1 和 3600000)。如果您想让交互在运行时没有时间限制,也可以将该值设置为 -1。
javax.resource.ResourceException: ICO0083E:methodname 错误。 在全局事务作用域内,采用落实方式 0 的 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互无效。
说明:在全局事务作用域内,采用落实方式 0 的 SYNC_SEND_RECEIVE、SYNC_SEND、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互无效。这是因为目前全局事务要求 SYNC_LEVEL_SYNCPOINT 和 SYNC_LEVEL_SYNCPOINT 只有在落实方式 1 下才有效。
javax.resource.ResourceException: ICO0084E:methodname 错误。 发生意外内部 IMS Connector for Java 错误。[source_method] [source_exception]
说明:在 methodname 中执行 [source_method] 调用时发生 PrivelegedActionException。如果启用了 Java 2 安全性,但是与调用程序 methodname 或者当前调用堆栈中的任何程序相关联的用户都未被授权执行 [source_method],就会产生此异常。
用户操作:确保正确设置了应用程序服务器的安全性,以便与调用程序以及当前调用堆栈中的任何程序相关联的用户在发生该异常时都有权执行 [source_method]。或者,您也可以关闭应用程序服务器中的 Java 2 安全性检查。
javax.resource.ResourceException: ICO0085E:methodname 错误。 协议违例。不允许将用户指定的 clientID 用于可共享持久套接字上的交互。
说明:不允许使用为 clientID 属性指定的值。这是因为已将连接工厂配置为用于可共享持久套接字,而在这种连接工厂中不允许使用用户指定的 clientID。
用户操作:对于可共享持久套接字连接工厂,IMS Connector for Java 提供了现成的 clientID。用户指定的 clientID 是不允许使用。要确定您是否正在使用可共享持久套接字,可检查交互所使用的连接工厂的 CM0Dedicated 属性值是否为 FALSE。
javax.resource.ResourceException: ICO0086E:methodname 错误。 为 CommitMode 属性指定的值无效。
说明:您在 commitMode 属性字段中已指定的 CommitMode 值无效。
javax.resource.ResourceException: ICO0087E:methodname 错误。 协议违例。专用持久套接字上的交互不允许采用“落实方式 1”。
说明:将 CommitMode 属性的值指定为 1 是无效的。这是因为已将连接工厂配置为用于专用持久套接字,而在这种连接工厂中不允许使用“落实方式 1”。
用户操作:对于专用持久套接字连接工厂,“落实方式 0”交互是有效的。要确定您是否正在使用专用持久套接字,可检查交互所使用的连接工厂的 CM0Dedicated 属性值是否为 TRUE。
javax.resource.ResourceException: ICO0088E:methodname 错误。 协议违例。在可共享持久套接字上不允许 SYNC_RECEIVE_ASYNCOUTPUT 交互。
说明:为 interactionVerb 属性指定的值 SYNC_RECEIVE_ASYNCOUTPUT 无效。这是因为已将连接工厂配置为用于可共享持久套接字,而在这种连接工厂中不允许使用 SYNC_RECEIVE_ASYNCOUTPUT。
用户操作:对于可共享持久连接上的交互,interactionVerb 属性的有效值包括 SYNC_SEND_RECEIVE、SYNC_SEND 和 SYNC_END_CONVERSATION。要确定您是否正在使用可共享持久连接,可检查交互所使用的连接工厂的 CM0Dedicated 属性值是否为 FALSE。
javax.resource.ResourceException: ICO0089I: methodname。 非持久套接字已对落实方式 0 IMS 事务关闭。
说明:如果对非持久套接字(事务套接字)运行“落实方式 0”,IMS Connector for Java 就会从连接池中强制除去受管连接对象。
用户操作:这不是错误消息,不需要执行任何操作。
javax.resource.ResourceException: ICO0091E:methodname 错误。 不能创建 SSL 客户机上下文。[{1}]
javax.resource.ResourceException: ICO0096I: methodname 警告。为 SSL 参数提供的值无效。
说明:使用 null 或空的 SSLKeystoreName、SSLKeystorePassword、SSLTruststoreName 或 SSLTruststorePassword 参数调用了 methodname 中所指示的方法。这是一条参考消息,主要是为了让用户知道以上提到的参数中的其中一个参数是 null 或空字符串。这并不会终止程序执行。
用户操作:为 SSLKeystoreName、SSLKeystorePassword、SSLTruststoreName 和 SSLTruststorePassword 参数提供有效值。为了方便起见,可以将专用密钥和证书存储在密钥库或信任密钥库中。因此,只需要一组有效值(或者是 SSLKeystoreName 与 SSLKeystorePassword,或者是 SSLTruststoreName 与 SSLTruststorePassword)就可以正确执行。
javax.resource.ResourceException: ICO0097E:methodname 错误。 {0} 错误。给定的值对于“SSLEncryptionType”无效。对于强加密,该值必须为“STRONG”;对于弱加密,该值必须为“WEAK”。
说明:为 SSLEncryptionType 参数提供了 STRONG 或 WEAK 之外的值。
用户操作:为 SSLEncryptionType 参数提供 STRONG 或 WEAK。该值不区分大小写。
javax.resource.ResourceException: ICO0111E:methodname 错误。 使用“本地选项”时,必须将 SSLEnabled 设置为 FALSE。
说明:IMSConnectName 属性被设置为非空值,SSLEnabled 属性被设置为 TRUE。然而,对于“本地选项”连接(通过为 IMSConnectName 参数提供值来指示),SSL 是不受支持的。
用户操作:将 SSLEnabled 设置为 false。
javax.resource.spi.CommException: ICO0113E:methodname 错误。 此交互发生了套接字超时。指定的 SocketTimeout 值为 [套接字超时值] 毫秒。 [source_exception:exception_reason]
说明:IMS Connector for Java 接收来自 IMS Connect 的响应的时间超过了为 SocketTimeout 指定的时间。
用户操作:确保 SocketTimeout 的时间值足以满足 IMS Connector for Java 接收来自 IMS Connect 的响应。否则应增大该值。如果给定的 SocketTimeout 的值足够大,则可能是网络问题导致了延迟。请与网络管理员联系。
javax.resource.ResourceException: ICO0114E:methodname 错误。 SocketTimeout 属性值 [套接字超时值] 无效。 [source_exception:exception_reason]
说明:为 SocketTimeout 属性指定的值 [套接字超时值] 无效。
用户操作:查看所提供的 exception_reason。确保为 SocketTimeout 给定一个正数值。
javax.resource.spi.CommException: ICO0115E:methodname 错误。 发生了 TCP 错误。
说明:这是底层协议发生的一个错误。
用户操作:请与网络管理员联系。
javax.resource.ResourceException: ICO0116E:methodname 错误。 发生了“公共客户机接口”错误。
说明:IMS 返回的消息中存在错误。
用户操作:确保为输出消息准确定义了 DLITypeInfo 数组,并将它映射至所调用的事务。
javax.resource.ResourceException: ICO0117E:methodname 错误。 协议违例:SYNC_SEND、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互不允许采用“落实方式 1”。
说明:将 CommitMode 属性的值指定为 1 是无效的。
用户操作:SYNC_SEND、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互必须采用“落实方式 0”。“落实方式 1”对于 SYNC_SEND_RECEIVE 和 SYNC_END_CONVERSATION 交互有效。
javax.resource.ResourceException: ICO0118E:methodname 错误。 协议违例。SYNC_SEND、SYNC_END_CONVERSATION、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互不允许 IMS 请求类型 2(IMS_REQUEST_TYPE_IMS_COMMAND)。
说明:将 imsRequestType 属性的值指定为 2(IMS_REQUEST_TYPE_IMS_COMMAND)是无效的。
用户操作:ImsRequestType 2(IMS_REQUEST_TYPE_IMS_COMMAND)仅对于 SYNC_SEND_RECEIVE 交互有效。SYNC_SEND、SYNC_END_CONVERSATION、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互必须采用 ImsRequestType 1(IMS_REQUEST_TYPE_IMS_TRANSACTION)。
javax.resource.ResourceException: ICO0119E:methodname 错误。 未找到受支持的 SSL 提供程序。[caught_exception]
说明:当尝试初始化与 IMS Connect 的“安全套接字层”TCP/IP 连接时,IMS Connector for Java 需要使用下面两个受支持的提供程序的其中一个:com.ibm.jsse.JSSEProvider 或 sun.security.provider.Sun。此错误指示这两个提供程序都不可用。
用户操作:缺省情况下,在 IBM JVM 中应该添加 com.ibm.jsse.JSSEProvider,而在 Sun JVM 中应该添加 sun.security.provider.Sun。如果您正在 WebSphere Application Server 中运行,则应确保在受支持的 IBM JVM 中运行的是 IMS Connector for Java;而在其它应用程序服务器中运行的是 Sun JVM。
javax.resource.ResourceException: ICO0120E:methodname 错误。 对于采用 input Record、output Record 和 InteractionSpec 的 execute 方法,SYNC_SEND interactionVerb 是不受支持的。
说明:当采用三个参数(input Record、output Record 和 interactionSpec)来执行交互时,将 interactionVerb 属性的值设置为 0(SYNC_SEND)是无效的。
用户操作:SYNC_SEND 交互仅对于采用 input Record 和 InteractionSpec 的 execute 方法才有效。SYNC_SEND_RECEIVE、SYNC_END_CONVERSATION、SYNC_RECEIVE_ASYNCOUTPUT、SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT 和 SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT 交互对于下面这两种 execute 方法都有效:采用 input Record 和 InteractionSpec 的 execute 方法;采用 input Record、output Record 和 InteractionSpec 的 execute 方法。
javax.resource.ResourceException: ICO0121E:methodname 错误。 reRoute 名称的值无效。前缀 HWS 是 IMS Connector for Java 的保留项。
说明:为 reRouteName 属性指定的值无效。前缀“HWS”是 IMS Connector for Java 的保留项。
javax.resource.ResourceException: ICO0122E:methodname 错误。 reRoute 值无效。当 purgeAsyncOutput 值为 true 时,reRoute 值就不能为 true。
说明:为 reRoute 属性指定的值无效。因为对 purgeAsyncOutput 属性指定的值为 TRUE,或者对 purgeAsyncOutput 属性使用了缺省值(TRUE)。
用户操作:如果想要将 reRoute 设置为 TRUE,则应确保将 purgeAsyncOutput 属性设置为 FALSE。