Objawy
Rozważ następujący scenariusz:
-
Masz lokalizację odbierania, który jest skonfigurowany do korzystania z adaptera MQSC do odbierania wiadomości z IBM WebSphere MQ.
-
Karta mqsc jest skonfigurowany do używania zestaw znaków, ustawienie UCS-2 i UTF-16 i UTF-8.
-
Karta mqsc próbuje odbierania wiadomości z IBM WebSphere MQ w programie Microsoft BizTalk Server 2010.
-
Wiadomość jest większa niż 1 megabajt (MB).
W tym scenariuszu następujący błąd może zostać zarejestrowane w dzienniku aplikacji:
Identyfikator zdarzenia: 5740
Źródło: Programu BizTalk Server Opis: Karta "MQSC" wywoływane komunikat o błędzie. Szczegóły "napotkał błąd podczas próby uzyskania wiadomości z kolejki. Kolejka = default, queueManager = queuemanager, kod przyczyny = 2010".
Przyczyna
Ten problem występuje, ponieważ całkowita długość wiadomości, która jest odbierany wpływa na zestaw znaków, który jest określony dla karty MQSC. Na przykład gdy zestaw znaków UTF-8 jest używany, rzeczywiste wiadomości wymagany rozmiar buforu pięć razy większa niż rozmiar wiadomości. W związku z tym komunikat 1 MB wymaga buforu 5 MB. Przekracza maksymalną długość wiadomości domyślnie 4 MB, który jest używany przez kartę MQSC. Jeśli odebrana wiadomość wymaga większych niż ustawienie maksymalnej długości wiadomości karty MQSC miejsca w buforze, jest rejestrowany błąd, który jest wymieniony w sekcji "Symptomy".
Rozwiązanie
Informacje dotyczące zbiorczej aktualizacji
Poprawka umożliwiająca rozwiązanie tego problemu jest wliczana 8 zbiorczy pakiet aktualizacji dla Host Integration Server 2010. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania zbiorczą pakietu, zobacz pakiet 8 dla Host Integration Server 2010 aktualizacji zbiorczej.
Obejście problemu
Aby obejść ten problem, należy zwiększyć ustawienie maksymalnej długości wiadomości w konfiguracji karty MQSC do rozmiaru odebranej wiadomości oparte na dodatkową ilość miejsca w buforze wymaganego przez zestaw znaków, który jest używany.
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, gdy system jest pobieranie wiadomości z kolejki, mqsc Określa opcję umożliwiającą IBM WebSphere MQ obsługiwać automatyczne zmienianie rozmiaru buforu.
Ustawienie maksymalnej długości wiadomości jest w zasadzie sugerowane ustawienia, która opiera się na długości wiadomości i kodowania (lub zestaw znaków) wiadomości. W związku z tym należy dostosować ustawienie maksymalnej długości wiadomości do zgodne wymaganiami wielkości określonej wiadomości, aby upewnić się, czy pomyślnie odebrane wszystkie wiadomości. W parametrach karty MQSC i w ustawieniach IBM WebSphere MQ, można określić ustawienia Maksymalna długość komunikatu. W związku z tym należy upewnić się, że ustawienia zgadzają się. Następująca lista opisuje wymagania rozmiar buforu, oparte na zestaw znaków, który jest używany przez wiadomości, które są odbierane z kolejki wiadomości:-
Zestaw znaków UTF-16: Korzystając z zestawu ustawienie UTF-16znaków, ilość miejsca w buforze wymagane jest równa dwa razy rozmiar odebranej wiadomości.
-
Zestaw znaków UCS-2 i UTF-8: Gdy używasz zestaw znaków, ustawienie UCS-2i UTF-8, ilość miejsca w buforze wymagane jest pięć razy rozmiar odebranej wiadomości.
Zaleca się nie tylko zastosować tę aktualizację, ale również uaktualnić do wersji IBM WebSphere MQ Fixpack 7,5 1 gdy używana jest karta MQSC. IBM WebSphere MQ wersji 7.5 Fixpack 1 zawiera poprawkę dotyczącą problemu, który jest powiązana z konwersji danych DBCS UTF-16. Nie można uaktualnić do wersji IBM WebSphere MQ Fixpack 7,5 1, zaleca się używać IBM WebSphere MQ w wersji 7.0.1.8 (lub nowszej wersji) wraz z tą aktualizacją. 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.