2009-11-20 10 views
6

Próbuję wysłać wiadomość do serwera Java za pośrednictwem produktu Websphere MQ, który używa JMS jako protokołu transportu. Mogę z powodzeniem przekazywać wiadomości do MQ przy użyciu bibliotek dostarczanych przez IBM, ale serwer je odrzuca. Zakładam (mam nadzieję, że poprawnie), że to dlatego, że brakuje mi różnych nagłówków/właściwości JMS w wiadomości MQ.Używanie produktu Websphere MQ z JMS z aplikacji .NET

Upewniłem się, że ładunki wiadomości są takie same, sprawdzając kolejkę (oba są komunikatami map, jeśli to pomaga), ale nie chcę w pełni implementować JMS Websphere MQ protocol tylko po to, aby to działało.

Zastanawiam się, czy komuś udało się to uruchomić, a jeśli tak, jaka jest minimalna ilość informacji, które należy określić w nagłówku JMS? Czy są jakieś alternatywy dla zrobienia tego bezpośrednio na MQ (widziałem kilka o używaniu interakcji java, ale to jest coś, co myślę, że byłoby przesadą).

Każda pomoc będzie bardzo ceniona!

+0

mógłbyś opublikować komunikat o błędzie można dostać również sprawdzić dzienniki MQ o szczegóły. Czy masz przyczynę i kod błędu? – Karl

+0

Ten komunikat o błędzie mówi, że wiadomość nie jest wiadomością mapową. – jonnii

Odpowiedz

2

Czy możesz wkleić kod Java, którego używasz do odczytania wiadomości. Czy ten kod zakłada, że ​​wiadomość jest "MapMessage". Zwykle coś umieszczane w kolejce od klienta innego niż java będzie wyświetlane jako wiadomość tekstowa lub wiadomość bajtowa.

Interfejs API aplikacji WebsphereMQ JMS jest zwykle w porządku przy odczytywaniu tych komunikatów bez nagłówków JMS, o ile odczytywane są jako wiadomości tekstowe/wiadomości bajtowe zgodnie z ustawieniem.

W moim kodzie serwera moja zawartość jest zwykle umieszczana w kolejce jako bajty, a więc pojawia się jako wiadomość Bajtów, ale na wszelki wypadek, gdy otrzymam wiadomość, która została ręcznie umieszczona w kolejce, przechwytywam wyjątek klasy i testuję aby sprawdzić, czy w rzeczywistości jest to wiadomość tekstowa.

+0

Kod java oczekuje na MapMessage. Myślę, że byłoby miło zmienić to w przyszłym wydaniu, aby użyć TextMessage i wyraźnie zdekodować zawartość. Czy umieszczenie komunikatu mapy na drucie powoduje cokolwiek innego w przypadku dodatkowych nagłówków JMS? – jonnii

1

Produkt WebSphere MQ nie ma bardzo wyraźnych komunikatów o błędach. Rzeczy, które sugeruję sprawdzić, gdy coś poszło nie tak, to:

  1. Szczegóły wyjątku i ich przyczyny rekursywne.
  2. Dzienniki błędów MQ.
  3. Dzienniki zdarzeń pochodzące od MQ.
  4. .FDC pliki.
1

Czy próbujesz użyć MQI do wysyłania wiadomości JMS? Przejrzyj biblioteki XMS od IBM. Zapewnią wszystko, czego potrzebujesz. Biblioteki zapewniają implementację JMS systemu .NET, która działa z WebsphereMQ. Używałem tych bibliotek wiele razy w ciągu ostatniego roku, rozmawiając między systemami java i .net i byłem bardzo zadowolony z funkcjonalności.

XMS .NET Library Download

+0

Dzięki, popatrzę na to. – jonnii

0

myślę, że miał ten sam problem i nie mogłem dostać XMS do pracy. W przypadku, gdy jest to nadal problem dla ciebie, this might help

Pozdrowienia Kristoffer

Powiązane problemy