我正在查看调用用户管理Web服务的两个WSO2客户端示例。第一个是简单的客户端,第二个是Web应用程序。
第一个客户端设置系统SSL属性,然后实例化WSUserStoreManager对象。
第二个是Web应用程序,根本不设置SSL属性,而是实例化RemoteUserStoreManagerServiceStub。
有人可以解释为什么会有这些差异吗?当两个类似的可用时(常规和'远程')可以调用什么服务?调用https端点时是不是总是需要设置SSL属性?感谢。
答案 0 :(得分:1)
如果要调用HTTPS端点,则需要设置SSL信任库属性以信任服务器。但它是在客户的控制之下,如果客户需要,它可以信任它,如果不是它可以忽略。如果要忽略,则要覆盖java的默认TrustManager。 但是,通常java有一个名为“cacerts”的信任存储文件,其中包含所有可信CA证书。但是WSO2IS服务器的证书是自签名证书,java不能信任它。因此,如果需要,可以将证书导入“cacerts文件。我不确定为什么客户端和Web应用程序中有两种不同。但是,如果要调用HTTPS,则必须创建信任。请检查Web应用程序更多。有时候,它可能忽略了信任。由于Web应用程序在应用服务器中运行,有时可能已将java SSL信任属性设置为更正文件。