MobileFirst Hybrid Development — HTTP-адаптер не работает на устройстве

Я новичок в разработке MobileFirst Hybrid, и я начал проект прототипа, который включает создание и тестирование адаптеров. Мне удалось создать javascript adatper (http adatper), который вызывает веб-API, я смог развернуть адаптер на MobileFirstDevelopment Server, в моем случае это моя локальная машина.

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

«LogCat» показывает ошибку как [/app/services/ProjectName/android/query] не удалось, состояние: ответ 500 не определен.


person Bobby    schedule 16.04.2015    source источник
comment
Я в замешательстве. вы пытаетесь вызвать API из HTTP-адаптера в своем коде? API размещен на вашем компьютере?   -  person ScarletMerlin    schedule 16.04.2015
comment
@ScarletMerlin, в MFP клиент отправляет запрос на сервер, который затем вызывает запрос адаптера на серверную часть.   -  person Idan Adar    schedule 16.04.2015
comment
@bobby, предоставьте свою реализацию, связанную с вызовом адаптера - как код клиента, так и код адаптера.   -  person Idan Adar    schedule 16.04.2015
comment
Привет, Идан, проблема в том, что мое устройство droid и сервер MFP на моей локальной машине не являются одной и той же сетью. Он начал работать после того, как они оказались в одной сети Wi-Fi. Опять же, изначально это не сработало, даже если оба находятся в одной сети, мне пришлось использовать имя компьютера вместо идентификатора адреса в свойстве HostName сервера MobileFirstDevelopment. Любая идея, почему это может быть проблемой с использованием IP-адреса? Заранее спасибо за вашу помощь.   -  person Bobby    schedule 17.04.2015


Ответы (1)


Ваше приложение построено с URL-адресом сервера, при развертывании на устройстве должна быть возможность «видеть» сервер, как указано в этом URL-адресе. Часто устройство будет находиться в сетевом окружении, немного отличающемся от эмулятора.

Вы найдете значения, используемые в вашем приложении, в

/android/родной/активы/wlclient.properties

wlServerProtocol = http
wlServerHost = 192.168.0.19
wlServerPort = 10080

Не редактируйте их напрямую, а используйте

-rightClick-> Запуск от имени -> Параметры сборки и цель развертывания

чтобы указать URL-адрес, а затем перестроить проект.

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

person djna    schedule 16.04.2015
comment
Большое спасибо! это указало мне правильное направление. Чтобы это работало, мне пришлось указать и устройство, и сервер МФУ в одной сети, а также изменить wlServerHost с IP-адреса на имя компьютера. Не знаю, почему использование IP-адреса не работает на устройстве. - person Bobby; 17.04.2015