0

アプリケーションに暗号化キャッシュを実装しました。デバイスでモバイル ブラウザーを使用してモバイル Web 環境でテストを行うと、次の例外が発生します。

[エラー] FWLSE0048E: 未処理の例外がキャッチされました: SRVE0190E: ファイルが見つかりません: /apps/services/BMA_app/apps/services/random java.io.FileNotFoundException: SRVE0190E: ファイルが見つかりません: /apps/services/BMA_app/apps/services/ com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:496) でランダム com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:127) で com.ibm.ws. webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:88) com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:191) com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource で(AuthenticationServiceBean.java:76) com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:195) com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:85) com.ibm.ws .webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:949) com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1029) com.ibm.ws.webcontainer.webapp.WebApp.handleRequest (WebApp.java:4499) com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:282) com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:954) com .ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:252) com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:584) at com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439) at com.ibm.ws.threading.internal.Worker.run(Worker.java:421) java.lang.Thread.run(Thread.java:701) [プロジェクト BMA_app] SRVE0190E: ファイルが見つかりません: /apps/services/BMA_app/apps/services/random

他の環境でテストすると、エラーは発生しません。

EDIT : このサービスを使用すると、暗号化されたキャッシュのキーを取得できることがわかりました。それを開くことができます。サービスが 404 であることを考えると、キャッシュを開くのに失敗しました。

さらに、Worklight Console は、モバイル Web アプリの次の URL を提供してくれます。

http:/my-server:port/BMA_app/apps/services/www/BMA_app/mobilewebapp/ 

アプリは、暗号化されたキャッシュのキーを取得して送信しようとしますhttp:/my-server:port/BMA_app/apps/services/BMA_app/apps/services/random

^ 404 エラー

この以前の URL を にカットするとhttp://my-server:port/BMA_app/apps/services/random、機能します。

URL で「BMA_app/apps/services」が 1 回ではなく 2 回繰り返されているようです。
なぜ、どのように解決するのですか?

4

1 に答える 1

0

欠陥に遭遇した可能性があるようです。

Encrypted Cache サンプル プロジェクトを使用して 6.1.0.1 でテストし、それにモバイル Web 環境を追加します。[アプリの URL を取得] ボタンで提供されるリンクを使用すると、アプリから「キャッシュを開く」ことを試みると、で失敗しstatus code 10ます。この状況コードは、アプリが Worklight Server のランダム生成サービスに接続できなかったことを意味します。

実際、コンソール ログを調べると、アプリは「EncryptedCache/apps/services」が 2 回繰り返される次の URL に接続しようとします...:

http://192.168.1.101:10080/EncryptedCache/apps/services/EncryptedCache/apps/services/random?isAjaxRequest=true&x=0.18816258828155696

URL を生成するのはフレームワークであるため、この問題の回避策はありません。


私は欠陥を開きました。
IBM のお客様またはビジネス パートナーで、修正が必要な場合は、PMR を開いて、この Stackoverflow の質問に言及してください。

今後、修正は iFix および今後リリースされる修正パックで利用可能になります。

于 2014-04-15T12:48:53.177 に答える