症状
从大型机应用程序接收响应时,会话系统集成商使用的应用程序的 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.Include
FunctionManagementHeaderSupport.None以下是如何使用SessionConnectionLU0类来指定 LU 名称,主机代码页和禁用的 FM 标头分析的示例︰SessionConnectionLU0 _connection = 新 SessionConnectionLU0();
_connection.LogicalUnitName = LUName.Text; _connection。HostCodePage = 37; _connection.FunctionManagementHeaderSupport.None;如果未指定FunctionManagementHeaderSupport属性,则默认行为是会话系统集成商分析调频中如果 FMH 位设置为1,从 IBM 大型机应用程序接收任何响应的标头。本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。Microsoft 不做这些产品的任何担保、默示或其他有关的性能或可靠性。