2016-10-17 60 views
2

我们遇到了基于IBM Bluemix上的移动客户端访问服务的移动APP问题。它之前运行良好,但是这些日子,我们发现启动APP后出现以下故障。IBM Bluemix上的移动客户端访问服务的tenantID无效

http://www.ibm.com/developerworks/library/mo-android-mobiledata-app/ 
    10-13 11:19:04.194 2721-2978/com.ibm.bluelist E/SplashActivityLoginFail: Failed to login: Response: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;;; 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 

    <div id="content"> 
    <div id="page"> 
    <div id="box"> 

    <div id="error"> Exception thrown by application class 'com.worklight.applications.bean.ApplicationManagementServiceBeanOnCloud.getApplication:120' 
    </div> 
    <div id="code"> 
    java.lang.IllegalStateException: Bluemix can&#39;t find application with tenantId 6dfe3edc-2c3f-4117-a2b7-8cade0a527ec and id iOSnative.<br> 
    <div id="stack">at com.worklight.applications.bean.ApplicationManagementServiceBeanOnCloud.getApplication(ApplicationManagementServiceBeanOnCloud.java:120)<br>at com.worklight.applications.bean.ApplicationManagementServiceBeanOnCloud.getApplicationEnvironment(ApplicationManagementServiceBeanOnCloud.java:140)<br>at com.worklight.authorization.AuthorizationServer.getApplicationEnvironmentRuntime(AuthorizationServer.java:217)<br>at com.worklight.authorization.AuthorizationServer.getApplicationEnvironmentRuntime(AuthorizationServer.java:182)<br>at com.worklight.authorization.AuthorizationEndpoint.authorizeClient(AuthorizationEndpoint.java:170)<br>at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)<br>at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>at java.lang.reflect.Method.invoke(Unknown Source)<br>at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)<br>at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)<br>at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)<br>at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)<br>at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)<br>at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)<br>at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)<br>at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)<br>at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)<br>at org.apache.wink.server.handlers.AbstractHandl 

从错误信息,似乎上述故障是因无效tenantID:

java.lang.IllegalStateException: Bluemix can't find application with tenantId xxxx 

其实我们从在MCA服务的仪表板APPGUID的tenantID,ID应该是正确的。 ..

我们正在寻找帮助调试此问题。任何意见表示赞赏。

+0

你能尝试设置新的服务? – joe

回答

1

我无法重现此问题。我会建议重新启动应用程序或尝试使用其他MCA服务来查看是否可以解决问题。

如果您仍然遇到问题,请告诉我们,我们可以进行更多调试,或者您可以打开一个Bluemix支持服务单,其中包含有关您的实例的更多信息,以帮助服务团队修复错误。

+0

非常感谢您的回答。现在我们遇到了另一个问题:使用Bluemix的新界面,我无法找到移动选项来查找我的应用程序的appGUID。你能给这个问题提供任何线索吗? – thinkhy

+0

'AppGuid'不再是使用最新的Bluemix Mobile SDK的必需参数。你目前如何使用它? (以及什么平台?)我可以帮助您在必要时进行迁移。 – joe

0

我们正在使用MCA与自定义身份验证,它的工作方式是MCA android客户端SDK将借助应用程序GUID和RELAM名称连接到MCA Bluemix服务。

您需要确保它们在前端和后端都匹配。两者都是强制性参数。

 MCAAuthorizationManager mcaAuthorizationManager = MCAAuthorizationManager.createInstance(this.getApplicationContext(),"<App GUID>"); 
 
     mcaAuthorizationManager.registerAuthenticationListener("<relam Name>", new CustomAuthenticationListener()); 
 
     BMSClient.getInstance().setAuthorizationManager(mcaAuthorizationManager);

相关问题