IBM Worklight:AdapterAuthRealmChallengeHandler.submitSuccess()生成无效的http标头

时间:2014-09-16 19:53:03

标签: authentication ibm-mobilefirst worklight-security

在以前正确工作的开发中。升级到Chrome 37.0.2062.120后,WL 6.1.0.01.20140311-2356的环境在验证期间调用submitSuccess时出现以下错误。

CHROME BROWSER日志:

  

未捕获的SyntaxError:无法执行'setRequestHeader'   'XMLHttpRequest的':   “{ “wl_deviceNoProvisioningRealm”:{ “ID”:{ “标记”: “pg8cd4gnjh1kb0sjko6h1chqr4”, “应用程序”:{ “ID”:“Moje   CZU”, “版本”: “1.0”}, “设备”:{ “ID”: “previewDummyId”, “OS”: “previewDummyOS”, “模型”: “previewDummyModel”, “环境”: “预览”}, “定制”:{}}}}”   不是有效的HTTP标头字段值。

WL服务器日志:

  

SRVE0777E:应用程序类抛出的异常   'com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource:398'   com.worklight.server.auth.api.WorkLightAuthenticationException at   com.worklight.core.auth.impl.AuthenticationContext.pushCurrentResource(AuthenticationContext.java:398)     在   com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:389)     在   com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:112)     在   com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:182)     在   com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:73)     在   com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:141)     在   com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:103)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:595)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:668)at at   com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240)     在[内部课程] at   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)     在[内部课程]

不确定“MojeĆZU”latin2字符在这里是否没有引起问题?

身份验证过程中的先前步骤看起来很正常 Firefox和Opera也陷入困境,但行为不同。

但是,当应用程序部署到Android设备时,App仍可以正常运行。

1 个答案:

答案 0 :(得分:0)

这看起来像an encoding issue

首次生成应用程序时,application-descriptor.xml中的application id值是从所选应用程序名称生成的;然后你可以把它改成你想要的任何东西。

请注意,在添加移动环境时,也会使用相同的值,因此,如果您在创建移动环境(具有" native"文件夹)之后更改了值,您需要删除该本机文件夹才能正确重新生成所有工件。或者,查找全部/替换并验证一切正常。

在application-descriptor.xml中更改后,Worklight不会自动替换此值。