我正在开发一个需要同时读取公共和“我的”社区的iWidget,因此需要身份验证但不能使用Javascript SDK功能,因为iWidget的Dojo版本必须是1.4(长篇故事)。使用SDK的Java BasicEndpoint类看起来像是在没有UI提示的情况下登录的另一种方法。我创建了一个新的BasicEndpoint并设置了与sbt.properties中配置的相同的属性,并将其设置为社区服务的新端点:
CommunityService svc = new CommunityService(); svc.setEndpoint(basicEndpoint);
我使用BasicEndpoint的登录方法来传递用户名和密码,但是对basicEndpoint.login的调用产生了这个错误:
com.ibm.sbt.services.client.ClientServicesException:执行REST服务时出错http://www.ourdevserverdomain.com/communities/service/atom/communities/my .... 引起:javax.net.ssl.SSLPeerUnverifiedException:peer未通过身份验证
奇怪,因为我们甚至没有对我们的开发服务器使用SSL。有一种方法可以检查是否启用了SSL证书信任,我想至少在开发模式下尝试但是我没有办法设置该属性:
boolean bypassSSL = basicEndpoint.isForceTrustSSLCertificate();
是否存在绕过SSL检查的方法,或者在EndPoint上设置其他属性以避免此错误的方法?
答案 0 :(得分:0)
你的网址非常不可能是HTTP://所以我假设它是https:// ...而且只是编辑错误...
所以在托管SDK的服务器中,你需要添加连接服务器的签名者......
是tomcat吗?如果是这样,添加签名者意味着将其添加到托管tomcat服务的java的密钥库中。
如果是websphere,你会想要使用它添加它 打开WebSphere Console
转到安全
单击SSL证书和密钥管理
点击密钥库和证书
单击CellDefaultTrustStore
单击签名者证书
单击从端口检索
输入Connections Server的HOSTNAME,端口(如果是443)使用443
单击确定
单击保存/关闭
然后同步节点(您可以在环境下执行。然后重新启动Connections Server(您可能不必执行此步骤)
重试命令