0
votes

in previously correctly working dev. environment with WL 6.1.0.01.20140311-2356 after upgrade to Chrome 37.0.2062.120 there is now the following error when calling submitSuccess during authentication.

CHROME BROWSER LOG:

Uncaught SyntaxError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': '{"wl_deviceNoProvisioningRealm":{"ID":{"token":"pg8cd4gnjh1kb0sjko6h1chqr4","app":{"id":"Moje ČZU","version":"1.0"},"device":{"id":"previewDummyId","os":"previewDummyOS","model":"previewDummyModel","environment":"preview"},"custom":{}}}}' is not a valid HTTP header field value.

WL SERVER LOG:

SRVE0777E: Exception thrown by application class '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) at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:75) at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedureInternal(DataAccessServiceImpl.java:389) at com.worklight.integration.services.impl.DataAccessServiceImpl.invokeProcedure(DataAccessServiceImpl.java:112) at com.worklight.gadgets.serving.handler.BackendQueryHandler.getContent(BackendQueryHandler.java:182) at com.worklight.gadgets.serving.handler.BackendQueryHandler.doPost(BackendQueryHandler.java:73) at com.worklight.gadgets.serving.GadgetAPIServlet.doGetOrPost(GadgetAPIServlet.java:141) at com.worklight.gadgets.serving.GadgetAPIServlet.doPost(GadgetAPIServlet.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240) at [internal classes] at com.worklight.core.auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:191) at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:195) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194) at [internal classes]

not sure if "Moje ĆZU" latin2 character here not causing the issue?

Previous steps in authentication process looks working fine.
Firefox and Opera are also stuck but with different behavior.

However, when the app is deployed to Android device App still works fine.

1

1 Answers

0
votes

This looks like an encoding issue.

When generating an application for the first time, the application id value in application-descriptor.xml is generated from the chosen app name; you can then alter it to anything else you'd like.

Note, though, that when adding a mobile environment the same value is used there as well, so if you are altering the value after already creating a mobile environment (which will have the "native" folder), you need to remove that native folder to have all artifacts re-generated correctly. Or, do a find all/replace and verify everything is working.

Worklight will not auto-replace this value after changing it in application-descriptor.xml.