2010-07-16 7 views
1

Следующее работает, когда оно находится в классе EntryPoint моего приложения, но не тогда, когда оно перемещено в другое место.GWT RPC выходит за пределы класса EntryPoint

public MyServiceAsync service = GWT.create(MyService.class); 

service.someFunction(callback); 

Это не похоже, чтобы бросить сам исключение, но сбои в работе приложения по NullPointerException, когда он смотрит на объекты, которые должны были быть созданы с данными вызова службы. Я пытался проследить его через отладчик, но он даже не делает это на стороне сервера или обратном вызове.

Я что-то упустил? Я бы предпочел, чтобы все мои вызовы служб не отправлялись из класса EntryPoint.

+0

Вы подтвердили, что у вас есть реализация MyService под серверным пакетом, верно? –

+0

Да, сервис полностью реализован и отлично работает при его создании и вызове из класса EntryPoint. Это происходит только тогда, когда это делается из другого класса. – Luke

+0

Я угадываю: - просто убедитесь, что ваш вызов GWT.create() попадает под клиентский пакет (или подпакет в клиенте) –

ответ

0

Решена ли эта проблема? Если нет, можете ли вы предоставить минимальный образец кода, который воспроизводит ошибку, которую вы получаете?

Лука писал:

NullPointerException, когда он смотрит на объекты, которые должны были быть созданы с данными вызова службы

Это звучит, как вы не можете быть учет асинхронной природы вызова RPC. Эти объекты не будут создаваться до тех пор, пока вызов не вернется. Если вы пытаетесь использовать их в коде после вызова службы, это не сработает. Вам нужно использовать метод callback onSuccess(), чтобы делать все, что зависит от наличия доступных результатов вызова.

Я действительно думаю, основываясь на информации в вашем первоначальном описании. Более подробная информация, включая образец, если это возможно, упростит предоставление более окончательного ответа.

Смежные вопросы