Komunikacja EJB

0

Mam taki dziwny problem. Mam klienta EJB i serwer. W kliencie wywołuję metodę (przykładowo):

MyClass object = getMyObject();
statelessRemote.doSomething("tekst", object);

Problem jest taki, że do implementacji na serwerze dociera "tekst", ale parametr object jest null.
Jest to część większej aplikacji i ogólnie komunikacja działa, a ja mam problem z tą jedną metodą. Pytanie dotyczy tego jak podejrzeć komunikację pomiędzy klientem i serwerem. Serwer i klient są roboczo na localhost. Serwer to wildfly. Chciałbym znaleźć miejsce gdzie te dane znikają, ale nie wiem jak to ugryźć.

2

Pokaż jak ten obiekt ( MyClass) wygląda. Dość dziwny efekt.
Jak uruchomisz server w debugu to możesz się przekopać przez komunikacje i zobaczyć co tam jest wysyłane/odbierane.
Jeszcze możesz logi na TRACE ustawić na org.wildfly ... ale raczej tyle śmiecia dostaniesz, że tylko jak będziesz miał szczęście to znajdziesz.

Ogólnie to fajnie. Masz projekt jeden na 200 - ejb jest użyte w tym celu w jakim powstało. Wow!

1

Do takiego stejtles bina, to powinieneś przekazać referencję do zdalnego obiektu, a nie po prostu jakiś obiekt lokalny. Pokaż czym jest ten MyClass, jakie interfejsy implementuje, z czego dziedziczy.

0

Ogólnie problem się niejako rozwiązał przez przejrzenie obiektu. Założyłem, że klient wysyła obiekt, a serwer otrzymuje NULL, tymczasem taka obserwacja wynikała z tego, że źle to sprawdzałem. Obiekt jednak docierał, ale ja wypisywałem w logach tekst z nulem.

yarel napisał(a):

Do takiego stejtles bina, to powinieneś przekazać referencję do zdalnego obiektu, a nie po prostu jakiś obiekt lokalny. Pokaż czym jest ten MyClass, jakie interfejsy implementuje, z czego dziedziczy.

Możesz to jakoś rozwinąć? Chcę wysłać z klienta dane typu {String nazwa; String opis; String numer}. Jak to powinno być? Bo wysyłam taki obiekt jako parametr funkcji implementowanej w beanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1