私は MobileFirst CLI 7.1、Java 1.8.0_65 を使用しています (問題がある場合は Mac OS X 10.9.5 上で)。現在の環境で約 1 か月間問題なく動作していましたが、開発したすべてのアダプターで突然問題が発生し、これまで正常に動作していました。
ブラウザからテストすると、最初のエラーが発生しました。おそらく、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で見つけました。
これも真実である理由は、バックオフィスの RESTful サービスとのインターフェースに使用する予定だった JavaAdapter をいじっていたからです。私は問題を抱えていて、ある時点でジャージーを使用するというアイデアをもてあそびました。ある時点で少なくとも 1 つの Jersey jar ファイルをプロジェクトの server/lib フォルダーにコピーし、これをサーバーにプッシュした可能性があると思います。予想していたのにこれを行った後、もう一度アンインストールし、~/.ibm の下のすべてを削除して再インストールすると、jar は存在しなくなります。私はまだ同じ問題を抱えています。
アンインストールによって liberty プロファイルまたは WAS 構成が削除されず、これらの jar が何らかの形で存続する可能性はありますか?