Ibm mobilefirst IBM Worklight 6.1.0.1-“;“未找到文件服务/随机”;面向移动Web环境

Ibm mobilefirst IBM Worklight 6.1.0.1-“;“未找到文件服务/随机”;面向移动Web环境,ibm-mobilefirst,worklight-security,Ibm Mobilefirst,Worklight Security,我已经在我的应用程序中实现了加密缓存。在移动Web环境中使用设备中的移动浏览器进行测试时,我会遇到以下异常: [错误]FWLSE0048E:捕获到未处理的异常:SRVE0190E:文件未处理 找到:/apps/services/BMA\u app/apps/services/random java.io.FileNotFoundException:SRVE0190E:未找到文件: /应用程序/服务/BMA_应用程序/应用程序/服务/random at com.ibm.ws.webcontaine

我已经在我的应用程序中实现了加密缓存。在移动Web环境中使用设备中的移动浏览器进行测试时,我会遇到以下异常:

[错误]FWLSE0048E:捕获到未处理的异常:SRVE0190E:文件未处理 找到:/apps/services/BMA\u app/apps/services/random java.io.FileNotFoundException:SRVE0190E:未找到文件: /应用程序/服务/BMA_应用程序/应用程序/服务/random at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.HandlerRequest(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) 位于com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439) 位于com.ibm.ws.threading.internal.Worker.run(Worker.java:421) java.lang.Thread.run(Thread.java:701)[project BMA_app]SRVE0190E: 未找到文件:/apps/services/BMA\u 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\u app/apps/services/BMA\u app/apps/services/random

^404错误

如果我们将之前的url剪切为
http://my-server:port/BMA_app/apps/services/random
,它可以工作

在URL中,“BMA_应用程序/应用程序/服务”似乎重复了两次而不是一次。

为什么以及如何解决

看起来您可能遇到了一个缺陷

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

实际上,当检查控制台日志时,应用程序尝试连接到以下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并提及此问题

今后,该修复程序将在iFix和任何未来发布的修复包中提供