Мы используем SBT в качестве прокси для доступа к содержимому Smartcloud через OAuth2. Нам нужно получить данные профиля для зарегистрированного пользователя на стороне сервера с помощью Java. Для этого позвоним new com.ibm.sbt.services.client.smartcloud.profiles.ProfileService("smartcloudOA2").getMyProfile()
. Это работало нормально, пока я не понял, что возвращаемый объект профиля содержит устаревшие данные профиля пользователя.Доступ к профилю пользователя Smartcloud с использованием IBMSBT
Когда я пытаюсь получить данные его профиля с использованием 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
?
Каков наилучший способ получить информацию о профиле пользователя Smartcloud на стороне сервера с использованием Java-API SBT?
да совместимо. Мы смотрим на запись. спасибо Пол –