2015-06-22 329 views
0

是否可以使用身份驗證證書連接到WSO2(CEP)管理服務?WSO2身份驗證證書

https://localhost:9443/services/UserAdmin?wsdl 

如果是,那該怎麼做?

回答

1

訪問管理服務API對於所有WSO2產品都很常見。您必須使用產品使用的公共證書才能通過SSL進行通信。

你可以參考下面的示例

import org.wso2.carbon.authenticator.stub.LoginAuthenticationExceptionException; 
import org.wso2.carbon.authenticator.stub.LogoutAuthenticationExceptionException; 
import org.wso2.carbon.service.mgt.stub.types.carbon.ServiceMetaData; 
import org.wso2.carbon.service.mgt.stub.types.carbon.ServiceMetaDataWrapper; 

import java.rmi.RemoteException; 

public class ListServices { 
    public static void main(String[] args) 
     throws RemoteException, LoginAuthenticationExceptionException, 
      LogoutAuthenticationExceptionException { 
    System.setProperty("javax.net.ssl.trustStore", "$CEP_HOME/repository/resources/security/wso2carbon.jks"); 
    System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon"); 
    System.setProperty("javax.net.ssl.trustStoreType", "JKS"); 
    String backEndUrl = "https://localhost:9443"; 

    LoginAdminServiceClient login = new LoginAdminServiceClient(backEndUrl); 
    String session = login.authenticate("admin", "admin"); 
    ServiceAdminClient serviceAdminClient = new ServiceAdminClient(backEndUrl, session); 
    ServiceMetaDataWrapper serviceList = serviceAdminClient.listServices(); 
    System.out.println("Service Names:"); 
    for (ServiceMetaData serviceData : serviceList.getServices()) { 
     System.out.println(serviceData.getName()); 
    } 

    login.logOut(); 
    } 
} 

欲瞭解更多信息,請here