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.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:127) 在 com.ibm.ws 的 com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:496) 随机。 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。在 com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439) 在 com.ibm.ws.threading.internal.Worker.run(Worker.java:421) 运行(HttpDispatcherLink.java:584)在 java.lang.Thread.run(Thread.java:701) [project BMA_app] SRVE0190E:找不到文件:/apps/services/BMA_app/apps/services/random

在其他环境中测试时,不会出现该错误。

编辑:我刚刚看到,此服务允许获取加密缓存的密钥。它允许打开它。鉴于此,服务是 404,我打开缓存失败。

此外,Worklight 控制台为我提供了移动 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”中重复了两次而不是一次。
为什么以及如何解决它?

4

1 回答 1

0

看起来您可能遇到了缺陷。

在 6.1.0.1 中使用加密缓存示例项目进行测试并将移动 Web 环境添加到其中,如果您使用“获取应用程序 URL”按钮提供的链接 - 那么当您尝试从应用程序“打开缓存”时,它将失败status code 10。此状态代码表示应用程序无法连接到 Worklight Server 的随机生成器服务。

事实上,在检查控制台日志时,应用程序会尝试连接到以下 URL,其中“EncryptedCache/apps/services”重复了两次......:

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 回答