我們使用SBT作爲通過OAuth2訪問Smartcloud內容的代理。 我們需要使用Java在服務器端檢索已登錄用戶的配置文件詳細信息。爲此,我們致電new com.ibm.sbt.services.client.smartcloud.profiles.ProfileService("smartcloudOA2").getMyProfile()
。這工作正常,直到我意識到返回的配置文件對象包含不贊成的用戶配置文件詳細信息。使用IBMSBT訪問Smartcloud用戶配置文件
當我嘗試使用new com.ibm.sbt.services.client.connections.profiles.ProfileService("smartcloudOA2").getMyProfile()
獲得簡介細節我得到以下異常:
java.lang.IllegalArgumentException: Missing parameter: connections
at com.ibm.sbt.services.client.base.URLPattern.checkNoMissingParameters(URLPattern.java:67)
at com.ibm.sbt.services.client.base.URLPattern.format(URLPattern.java:58)
at com.ibm.sbt.services.client.base.URLBuilder.format(URLBuilder.java:82)
at com.ibm.sbt.services.client.connections.profiles.ProfileUrls.format(ProfileUrls.java:69)
at com.ibm.sbt.services.client.connections.profiles.ProfileService.getMyUserId(ProfileService.java:879)
at com.ibm.sbt.services.client.connections.profiles.ProfileService.getMyProfile(ProfileService.java:894)
at de.timetoact.xcc.conf.CloudServlet.doGet(CloudServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1274)
at [internal classes]
at com.ibm.sbt.util.SBTFilter.doFilter(SBTFilter.java:53)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
at [internal classes]
這是管理-beans.xml文件的樣子:
...
<!-- Default Environment -->
<managed-bean>
<managed-bean-name>defaultEnvironment</managed-bean-name>
<managed-bean-class>com.ibm.sbt.jslibrary.SBTEnvironment
</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>endpoints</property-name>
<value>smartcloudOA2</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>smartcloudOA2</managed-bean-name>
<managed-bean-class>com.ibm.sbt.services.endpoints.SmartCloudOAuth2Endpoint
</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>url</property-name>
<value>%{smartcloud.url}</value>
</managed-property>
<managed-property>
<property-name>appName</property-name>
<value>%{smartcloud.appName}</value>
</managed-property>
<managed-property>
<property-name>clientID</property-name>
<value>%{smartcloud.clientID}</value>
</managed-property>
<managed-property>
<property-name>clientSecret</property-name>
<value>%{smartcloud.clientSecret}
</value>
</managed-property>
<managed-property>
<property-name>forceTrustSSLCertificate</property-name>
<value>true</value>
</managed-property>
<managed-property>
<property-name>credentialStore</property-name>
<value>CredStore</value>
</managed-property>
</managed-bean>
...
是com.ibm.sbt.services.endpoints.SmartCloudOAuth2Endpoint
與com.ibm.sbt.services.client.connections.profiles.ProfileService
兼容?
什麼是使用SBT Java API在服務器端檢索Smartcloud用戶配置文件信息的最佳方法?
是的,它是兼容的。我們正在查看該條目。謝謝Paul – 2015-02-12 12:24:27