Проблемы с доступом к адаптерам MobileFirst

Я использую MobileFirst CLI 7.1, Java 1.8.0_65 (в Mac OS X 10.9.5, если это имеет значение). Я без проблем работаю в моей текущей среде уже около месяца, но внезапно столкнулся с проблемой со всеми разработанными мной адаптерами, которые успешно работали до этого момента.

Первоначальная ошибка всплыла при тестировании из браузера. Я подумал, что, возможно, это связано с тем, как библиотеки WL JavaScript аутентифицируются с помощью адаптеров, которые работают на сервере (очистка кеша браузера обычно решает эту проблему, но не в этом случае).

[.../common/query] failure. state: 500, response: undefinedWL.Logger.__log @ worklight.js:5377
worklight.js:5377 Client registration failed with error: {"responseHeaders":{"$WSEP":"","Date":"Tue, 08 Dec 2015 14:07:51 GMT","Connection":"Close","Content-Type":"text/html;charset=UTF-8","X-Powered-By":"Servlet/3.0","Transfer-Encoding":"chunked","Content-Language":"en-...

Когда это не сработало, я попытался протестировать адаптеры из CLI с полученной ошибкой.

undefined:1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.
^
SyntaxError: Unexpected token <
    at Object.parse (native)
...

Не очень полезно, и в журнале консоли нет реальной информации (по крайней мере, нет смысла)

На прошлой неделе я писал адаптер Java, поэтому я решил попробовать это, чтобы увидеть, получу ли я другой ответ (кстати, я также пытался создать новый проект и пустой адаптер с теми же результатами). В основном тестирование из командной строки, казалось, работало (нет ответа, но и нет ошибки). Я не думал, что он работает (хотя я настроен скептически), поэтому я решил протестировать тот же адаптер с помощью плагина Chrome (плагин Advanced REST Client). На самом деле я не дошел до тестирования адаптера, потому что POST для получения токена аутентификации не удался (вы отправляете следующий URL-адрес /authorization/v1/testtoken и должны вернуть токен аутентификации). На самом деле я получил кусок HTML.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
<div id="error"> Exception thrown by application class 'org.apache.wink.server.internal.RequestProcessor.logException:273'
</div>
<div id="code">
java.lang.NullPointerException: <br>
<div id="stack">at org.apache.wink.server.internal.RequestProcessor.logException(RequestProcessor.java:273)<br>at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:226)<br>at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)<br>at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:133)<br>at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)<br>at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1285)<br>at [internal classes]<br>at **com.worklight.authorization.server.AuthorizationServerFilter.doFilter**(AuthorizationServerFilter.java:88)<br>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)<br>at [internal classes]<br>at com.worklight.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:124)<br>at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:206)<br>at [internal classes]<br>
</div>
</div>

Мне кажется, что фильтр авторизации не работает по какой-то неизвестной причине. Вчера я попытался удалить и переустановить MF CLI, но эта ошибка снова появилась. Это единственное, что я думаю сделать снова, но, может быть, я пропустил некоторые локальные файлы, которые мне нужно удалить вручную после завершения удаления ...? В прошлый раз я почти все удалил из ~/.ibm

Я только что нашел этот пост в developerworks, в котором упоминается проблема, аналогичная той, которую я вижу.

https://www.ibm.com/developerworks/community/forums/html/topic?id=ae0a1814-7ce3-49f5-b582-c9ecf16fa51a

Причина, по которой это также звучит правдоподобно, заключается в том, что я играл с JavaAdapter, который планировал использовать для взаимодействия с бэк-офисной службой RESTful. У меня были проблемы, и в какой-то момент я обдумывал идею использования Джерси. Я думаю, что в какой-то момент я скопировал по крайней мере один файл jar из Джерси в папку server/lib проекта и, возможно, отправил его на сервер. Сделав это, я ожидал, еще раз удалив, удалив все в ~/.ibm и переустановив, что банки больше не будут присутствовать. Я все еще получаю ту же проблему.

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


person KJ Taylor    schedule 08.12.2015    source источник
comment
Было бы полезно, если бы был способ воспроизвести его и отладить...   -  person Idan Adar    schedule 08.12.2015
comment
Кроме того, вы работаете с тем же человеком, который задал следующий вопрос? Почему бы ему не обновить свой вопрос, в котором говорится о той же проблеме? stackoverflow.com/questions/34139451/   -  person Idan Adar    schedule 08.12.2015
comment
Привет, Идан, конечно, я ценю, что это поможет воспроизвести проблему, но, поскольку она, похоже, связана с моей средой, это, вероятно, невозможно сделать. Единственное, что пришло мне в голову с момента публикации, это то, что когда я начал работать с адаптером Java, я добавил несколько JAR-файлов в папку server/lib, которые впоследствии были отправлены/расшарены через git. Я предполагаю, что это может вызвать эту проблему, но я решил, что переустановив MF CLI, я уберу все это. Возможно, стоит повторить попытку, основываясь на этом предположении.   -  person KJ Taylor    schedule 08.12.2015
comment
Ах да, вы правы, этот пост был написан коллегой. Я не собираюсь тратить свой день на копирование и вставку трассировки стека и другие исследования, которые я провожу в электронном письме, и отправляю его ему, чтобы он мог обновить свой пост. Я не могу прокомментировать его сообщение в Stack Overflow, я также не могу добавить подробности, «отвечая» на его сообщение ... поэтому новый пост казался лучшим вариантом.   -  person KJ Taylor    schedule 08.12.2015
comment
Вы упомянули, что поместили войну в server/lib. Оттуда он переходит в файл .war во время сборки в папке /bin. Итак, удаление сервера не имеет значения, вы удалили войну из папки bin и удалили файл из server/lib?   -  person Idan Adar    schedule 09.12.2015
comment
Привет, Идан, я попытался удалить все из папки bin после полной перезагрузки сервера и переустановки ... следующим образом: я удалил cli с помощью uninstall.app, удалил все папки / файлы mobilefirst в ~/.ibm rm -R $TMPDIR/wlBuildResources rm -R $TMPDIR/wlPreview В моем проекте Mobilefirst я удалил все в папках bin и server/lib. Я установил новый (последний) mobilefirst cli, используя другой путь установки, затем я закрыл оболочку, создал новый сервер и запустил его. вверх. Возникла такая же проблема.   -  person KJ Taylor    schedule 09.12.2015
comment
Я предлагаю удалить вопрос и вместо этого открыть PMR. Это нужно передать команде разработчиков.   -  person Idan Adar    schedule 09.12.2015


Ответы (1)


Оказывается, существует проблема с текущим/последним выпуском MobileFirst CLI (20151130-1653). Я сделал резервную копию предыдущей версии (20150913-2352), и мои адаптеры снова заработали — очевидно, я очистил серверы и файлы tmp в процессе переустановки.

Я полагаю, что довольно много людей подняли один и тот же вопрос, и он был поднят как PMR внутри IBM.

person KJ Taylor    schedule 11.12.2015
comment
Похоже, эта проблема все еще существует в версии 7.1.0.00.20151214-1903. - person DSchultz_mo; 17.12.2015