症状

从大型机应用程序接收响应时,会话系统集成商使用的应用程序的 LU0 编程接口返回以下错误︰

消息︰ 从主机返回的函数管理标头包含一个无效的长度。错误代码︰ Microsoft.HostIntegration.SNA.Session.SessionStatus.FMHLengthError"

原因

大型机应用程序将数据发送到会话系统集成商具有函数管理头 (FMH) 位在响应标头 (RH) 设置为1,则会发生此问题。此设置指示在响应中包含一个或多个功能管理 (FM) 标头。在"症状"一节中描述的情况下,从主机响应中不包括任何调频标头。这会导致响应,正确地分析。此分析问题导致该错误。

解决方案

累积更新信息

累积更新 2中情况下,主机集成服务器 2013年会包含的修复程序可以解决此问题。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息

应用此更新后,您可以控制会话系统集成商的 FM 头分析 LU0 编程接口中使用的配置选项。默认情况下,尝试分析调频头,如果响应标头中设置 FMH 位会话系统集成商。如果会话系统集成商 LU0 应用程序使用连接字符串连接到 IBM 大型机,以下参数可以添加到禁用 FMH 分析连接字符串︰

FUNCTIONMANAGEMENTHEADERS=NONE以下是已添加此新属性的连接字符串的示例︰

_session.Connect("FUNCTIONMANAGEMENTHEADERS=NONE;LogicalUnitName=" + LUName.Text, SessionLU0InitType.SSCP);注意:此连接字符串取决于主机集成服务器 2013 SDK 中包含 LU0NET 会话集成示例中使用的连接字符串。如果FUNCTIONMANAGEMENTHEADERS属性不包括在连接字符串中,或者如果该属性设置为FUNCTIONMANAGEMENTHEADERS = 包括,并尝试分析从 IBM 大型机应用程序接收数据中的 FM 头 FMH 位设置为1,如果会话系统集成商。如果会话系统集成商使用的SessionConnectionLU0类来指定要连接到 IBM 大型机系统时使用的连接属性,FM 头分析控制使用以下属性︰

FunctionManagementHeaderSupport新的FunctionManagementHeaderSupport属性支持以下值︰

FunctionManagementHeaderSupport.IncludeFunctionManagementHeaderSupport.None以下是如何使用SessionConnectionLU0类来指定 LU 名称,主机代码页和禁用的 FM 标头分析的示例︰

SessionConnectionLU0 _connection = 新 SessionConnectionLU0();_connection.LogicalUnitName = LUName.Text;_connection。HostCodePage = 37;_connection.FunctionManagementHeaderSupport.None;如果未指定FunctionManagementHeaderSupport属性,则默认行为是会话系统集成商分析调频中如果 FMH 位设置为1,从 IBM 大型机应用程序接收任何响应的标头。

本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。Microsoft 不做这些产品的任何担保、默示或其他有关的性能或可靠性。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。