Objawy
Kiedy odbierze odpowiedź od aplikacji typu mainframe, Integrator sesji aplikacji, która korzysta z interfejsu programowania LU0 zwraca następujący błąd:
Komunikat o błędzie: Nagłówek zarządzania funkcja zwracane z hosta zawiera nieprawidłową długość.
Kod błędu: Microsoft.HostIntegration.SNA.Session.SessionStatus.FMHLengthError "
Przyczyna
Ten problem występuje, gdy aplikacji mainframe wysyła dane do Integrator sesji, która ma nagłówek zarządzania funkcja (FMH) bit w odpowiedzi nagłówek (prawy) ustawiona na 1. To ustawienie oznacza, że co najmniej jeden nagłówek funkcji zarządzania (FM) są zawarte w odpowiedzi. W sytuacji opisanej w sekcji "Symptomy" odpowiedzi z komputera typu mainframe nie zawiera żadnych nagłówków FM. Powoduje to, że odpowiedź ma zostać przeanalizowany nieprawidłowo. Ten problem podczas analizowania powoduje błąd.
Rozwiązanie
Informacje dotyczące zbiorczej aktualizacji
Poprawka rozwiązująca ten problem znajduje się w zbiorczej aktualizacji 2 dla programu Host Integration Server 2013.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Po zastosowaniu tej aktualizacji, można sterować za pomocą opcji konfiguracji w interfejsie programowania LU0 Integrator sesji analizę nagłówków FM. Domyślnie Integrator Sesja próbuje zanalizować FM nagłówków, jeśli w nagłówku odpowiedź jest ustawiony FMH bit.
Jeśli aplikacja LU0 Integrator sesji używa ciąg połączenia, aby połączyć IBM typu mainframe, następujący parametr mogą być dodawane do wyłączyć FMH podczas analizowania ciągu połączenia:
FUNCTIONMANAGEMENTHEADERS=NONE
Oto przykład ciągu połączenia, który ma ten nowy obiekt dodany:
_session.Connect("FUNCTIONMANAGEMENTHEADERS=NONE;LogicalUnitName=" + LUName.Text, SessionLU0InitType.SSCP);
Uwaga Ten ciąg połączenia jest oparty na ciąg połączenia, który jest używany w próbce Integrator sesji LU0NET, który znajduje się w zestawie SDK 2013 Host Integration Server.
Jeśli właściwość FUNCTIONMANAGEMENTHEADERSNIE nie jest uwzględniony w ciągu połączenia lub jeśli właściwość jest ustawiona na AKTUFUNCTIONMANAGEMENTHEADERS = DOŁĄCZAJ, i jeśli FMH bit jest ustawiony na wartość 1, Integrator Sesja próbuje zanalizować FM nagłówków w danych, które otrzymuje z aplikacji IBM mainframe.
Jeśli Integrator sesji używa klasy SessionConnectionLU0 , aby określić właściwości połączenia do użycia podczas łączenia się systemu IBM typu mainframe, podczas analizowania nagłówka FM jest określany przy użyciu następujących właściwości:
FunctionManagementHeaderSupportNowy obiekt FunctionManagementHeaderSupport obsługuje następujące wartości:
FunctionManagementHeaderSupport.Include
FunctionManagementHeaderSupport.NoneOto przykład sposobu użycia klasy SessionConnectionLU0 , aby określić nazwę LU, strona kodowa hosta i wyłączyć analizę nagłówków FM:
SessionConnectionLU0 _connection = nowe SessionConnectionLU0();
_connection.LogicalUnitName = LUName.Text;
_connection. HostCodePage = 37;
_connection.FunctionManagementHeaderSupport.None;Jeśli właściwość FunctionManagementHeaderSupport nie jest określony, domyślnym zachowaniem jest Integrator sesji analizowania FM nagłówków w odpowiedzi otrzymany z aplikacji IBM mainframe, jeśli FMH bit jest ustawiona na 1.
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, domniemanych ani żadnego innego rodzaju, odnośnie do wydajności lub niezawodności tych produktów.