0

I have installed WSO2 EMM and configured it according to the documentation (at least i think i did). Everything seems to work fine, except when i try to enroll any android device (haven't tried with iOS or Windows), i get a "server unavailable" error on the display, and a big java error in the logs. Here is the log extract:

Blockquote [2016-02-17 16:31:37,135] ERROR {org.jaggeryjs.jaggery.core.manager.WebAppManager} - org.mozilla.javascript.WrappedException: Wrapped java.lang.StringIndexOutOfBoundsException: String index out of range: -1 (/emm/api/device-api.jag#108) org.jaggeryjs.scriptengine.exceptions.ScriptException: org.mozilla.javascript.WrappedException: Wrapped java.lang.StringIndexOutOfBoundsException: String index out of range: -1 (/emm/api/device-api.jag#108) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571) at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273) at org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:587) at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:507) at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) at org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticationValve.invoke(WebappAuthenticationValve.java:43) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: org.mozilla.javascript.WrappedException: Wrapped java.lang.StringIndexOutOfBoundsException: String index out of range: -1 (/emm/api/device-api.jag#108) at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) at org.jaggeryjs.rhino.emm.api.c0._c_script_0(/emm/api/device-api.jag:108) at org.jaggeryjs.rhino.emm.api.c0.call(/emm/api/device-api.jag) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) at org.jaggeryjs.rhino.emm.api.c0.call(/emm/api/device-api.jag) at org.jaggeryjs.rhino.emm.api.c0.exec(/emm/api/device-api.jag) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567) ... 42 more Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.charAt(String.java:658) at org.wso2.uri.template.parser.URITemplateParser.parse(URITemplateParser.java:53) at org.wso2.uri.template.URITemplate.(URITemplate.java:35) at org.jaggeryjs.hostobjects.uri.URIMatcherHostObject.jsFunction_match(URIMatcherHostObject.java:84) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) ... 51 more

Any ideas?

Community
  • 1
  • 1
Fabien
  • 1
  • 3

1 Answers1

0

How did you enter the server URL on the first screen while enrolling. Check if you followed[1] properly. And also check if you followed [2] correctly when configuring.

[1] - https://docs.wso2.com/display/EMM200/End-user+Registering+an+Android+Device

[2] - https://docs.wso2.com/display/EMM200/Configuring+the+Product#ConfiguringtheProduct-Step1:Generalserverconfigurations

Kasun Delgolla
  • 219
  • 1
  • 8
  • I configured the URL in the agent (using android Studio). So normally the URL and the port were correctly configured. In any case i also tried to enter the server URL manually, but it doesn't change anything. The agent and the server are communicating though, since the error quoted in my question appears the second i send the enrollment request. – Fabien Mar 04 '16 at 08:04
  • So, which step you get this error? You get passed through login, PIN setting and then you get this? Or you weren't able to get through the login? – Kasun Delgolla Mar 06 '16 at 03:33
  • when i click enroll, i get a "server is unavailable" error. I don't get to input a pin code, so i guess i'm not able to get through the login. – Fabien Mar 07 '16 at 08:29
  • Since you are using android studio, can you please add the logcat output? – Inosh Perera Aug 01 '16 at 04:28