0

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

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

[.../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) 
... 

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

Я нахожусь в процессе написания адаптера Java на прошлой неделе, поэтому я подумал, что попробую, чтобы увидеть, получился ли у меня другой ответ (я также попытался создать новый проект и пустой адаптер с теми же результатами кстати). В основном тестирование из командной строки, казалось, работало (без ответа, но без ошибок). Я не думал, что это работает (скептически, как и я), поэтому я нацелился на тестирование одного и того же адаптера с помощью плагина Chrome (плагин расширенного клиента REST). На самом деле я не дошел до тестирования адаптера, потому что 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 jar в папку сервера/lib проекта в какой-то момент и, возможно, переместил его на сервер. Сделав это, хотя я бы и ожидал, снова удалив, удалил все под ~/.ibm и снова установил, что банки больше не будут присутствовать. Я все еще получаю ту же проблему.

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

+0

Это поможет, если будет способ воспроизвести его и отладить ... –

+0

Кроме того, вы работаете с одним и тем же лицом *, который открыл следующий вопрос? Почему бы ему не обновить его вопрос, который говорит о той же проблеме? http://stackoverflow.com/questions/34139451/ibm-worklight7-1-failure-state-500-response-the-server-was-unable-to-proce –

+0

Привет, Идан, конечно, я ценю, что это поможет способный воспроизвести проблему, но поскольку она, по-видимому, связана с моей средой, ее, вероятно, сделать невозможно. Единственное, что произошло со мной после того, как я опубликовал, было то, что когда я начал работать с адаптером Java, я добавил несколько JAR в папку server/lib, которые впоследствии были нажаты/разделены с помощью git. Я предполагаю, что это может вызвать эту проблему, но я понял, переустановив MF CLI, я бы очистил все это. Возможно, стоит повторить попытку, основанную на этом предположении. –

ответ

1

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

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

+0

Оказывается, этот вопрос все еще существует в версии 7.1.0.00.20151214-1903 –