Sintomas
Um aplicativo de integrador de sessões que usa a interface de programação de LU0 retorna o seguinte erro quando ele recebe uma resposta de um aplicativo de mainframe:
Mensagem: O cabeçalho de gerenciamento de função retornado do Host continha um comprimento inválido.
Código de erro: Microsoft.HostIntegration.SNA.Session.SessionStatus.FMHLengthError "Causa
Esse problema ocorre quando um aplicativo de mainframe envia dados para o integrador de sessões com o cabeçalho de gerenciamento de função (FMH) bit na resposta cabeçalho (RH) que definido como 1. Essa configuração indica que um ou mais cabeçalhos de gerenciamento (FM) de função são incluídos na resposta. Na situação descrita na seção "Sintomas", a resposta do mainframe não inclui os cabeçalhos de FM. Isso faz com que a resposta seja analisada incorretamente. Este problema de análise causa o erro.
Resolução
Informações da atualização cumulativa
A correção que resolve esse problema está incluída na atualização cumulativa 2 para o Host Integration Server 2013.
Status
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".
Mais informações
Depois de aplicar essa atualização, você pode controlar o integrador de sessões de análise dos cabeçalhos de FM usando uma opção de configuração na interface de programação do LU0. Por padrão, o integrador de sessões tenta analisar os cabeçalhos de FM se o bit FMH é definido no cabeçalho de resposta.
Se o aplicativo de sessão integrador LU0 usa uma sequência de caracteres de conexão para se conectar a um mainframe da IBM, o parâmetro a seguir pode ser adicionado à sequência de conexão para desativar a análise do FMH:FUNCTIONMANAGEMENTHEADERS=NONE
Este é um exemplo de uma cadeia de caracteres de conexão que tem essa nova propriedade adicionada:_session.Connect("FUNCTIONMANAGEMENTHEADERS=NONE;LogicalUnitName=" + LUName.Text, SessionLU0InitType.SSCP);
Observação: Essa sequência de conexão é baseada na sequência de conexão que é usada no exemplo de integrador de sessões LU0NET incluído no Host Integration Server 2013 SDK. Se a propriedade FUNCTIONMANAGEMENTHEADERS não está incluída na sequência de conexão, ou se a propriedade é definida como FUNCTIONMANAGEMENTHEADERS = inclui, e se o bit FMH é definido como 1, o integrador de sessões tenta analisar cabeçalhos de FM nos dados que ele recebe de aplicativo de mainframe da IBM. Se o integrador de sessões usa a classe SessionConnectionLU0 para especificar as propriedades da conexão a ser usada ao se conectar ao sistema de mainframe IBM, análise de cabeçalho FM é controlada pelo usando a seguinte propriedade:FunctionManagementHeaderSupportA nova propriedade de FunctionManagementHeaderSupport suporta os seguintes valores:
FunctionManagementHeaderSupport.Include
FunctionManagementHeaderSupport.NoneEste é um exemplo de como usar a classe SessionConnectionLU0 para especificar um nome de LU, página de código do Host e para desativar a análise de FM cabeçalhos:SessionConnectionLU0 _connection = SessionConnectionLU0() novo;
_connection.LogicalUnitName = LUName.Text; _connection. HostCodePage = 37; _connection.FunctionManagementHeaderSupport.None;Se a propriedade FunctionManagementHeaderSupport não for especificada, o comportamento padrão é que o integrador de sessões analisa cabeçalhos de FM em qualquer resposta é recebido do aplicativo de mainframe IBM se o bit FMH é definido como 1.Os produtos de terceiros descritos neste artigo são fabricados por empresas que são independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, em relação ao desempenho ou à confiabilidade desses produtos.