2010-10-20 2 views
0

В настоящее время я разрабатываю доказательство концепции приложения Blackberry, которое использует вызовы RPC. Я также разработал очень базовое серверное приложение в .NET, которое просто присваивает время отправленной ему строке и возвращает ее клиенту. Я смог подключиться к серверному приложению с помощью .Net-клиента и Java-клиента, поэтому я уверен, что он работает правильно.Webservice stubs в приложении Blackberry

Для клиентского приложения Blackberry я использовал Java Wireless Toolkit 2.5.2 для создания заглушек для вызовов RPC. Затем я использовал эти вызовы в базовом приложении Blackberry, чтобы попытаться воспроизвести результаты .Net и Java-клиентов, но он продолжает бросать исключения. Я не уверен, правильно ли использую заглушки.

pushScreen(new HelloWorldScreen("Initiating communication")); 
    try { 
     IHelloService_Stub stub = new IHelloService_Stub(); 
     String result = stub.hello("Hello From Blackberry"); 
     pushScreen(new HelloWorldScreen(result)); 
    } catch (RemoteException e) { 
     pushScreen(new HelloWorldScreen(e.getMessage())); 
    } 

В настоящее время я запускаю все локально. Сервер работает как localhost, а приложение Blackberry работает на симуляторе Blackberry. Я использовал браузер Blackberry, чтобы проверить, могу ли я связаться с сервисом, и поэтому я могу не связать это с сетевым подключением.

Исключение брошено является следующее:

java.io.interruptedIOException: Локальное подключение истекло после ~ 120000

+0

Что исключения это бросить? –

+0

Похоже, что это исключение таймаута – Ren

+0

Обновленный вопрос с подробностями исключения thrown – Ren

ответ

2

попробуйте добавить; deviceside = TRUE к вашему URL. Это должно устранить необходимость использования имитатора MDS.

0

Вы решили это? Я также использовал Sun WTK 2.5.2 для создания заглушек для веб-службы и запускаю приложение в BlackBerry Simulator, которое поставляется с плагином BlackBerry для Eclipse. Я установил симулятор MDS. Моя ошибка такая же, как у вас:

java.io.InterruptedIOException: Локальное подключение истекло после ~ 120000

Вы были в состоянии решить эту проблему? Нужно ли устанавливать MDS в определенном каталоге для имитатора устройства BlackBerry, чтобы его распознать?

Cheers.

ОБНОВЛЕНИЕ: Ах, исправлено. Похоже, что это имеет значение , где установлен MDS. Я изначально был установлен в C: \ Program Files (x86) \ Research in Motion, но затем прочитал сообщение в другом месте, которое предложило установить его непосредственно на C: \. Удивительно, но теперь это трюк и MDS. Для тех, кто еще возникли проблемы с МДС, вот ссылка устранение неисправностей:

http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800792/801079/Support_-_BlackBerry_Mobile_Data_Service_Simulator_does_not_launch.html?nodeid=800979&vernum=0

+1

Спасибо за обновление! Я давно решил эту проблему на своем ПК. Я развиваюсь в Eclipse, а симулятор Blackberry также устанавливается как плагин Eclipse. Я запускаю MDS непосредственно из каталога плагина Eclipse (C: \ Program Files \ eclipse \ plugins \ net.rim.ejde.componentpack5.0.0_5.0.0.25 \ components \ MDS). Обратите внимание, что я запускаю Windows 7 и поэтому должен запускать свою командную строку в режиме администратора. Не самое элегантное решение, но оно работает для меня. – Ren

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