Friday, October 31, 2008

WSAS hidden SERVICES

WSO2 WSAS is an enterprise ready Web services engine powered by Apache Axis2. It is a lightweight, high performing platform for Service Oriented Architectures, enabling business logic and applications. Bringing together a number of Apache Web services projects, WSO2 WSAS provides a secure, transactional and reliable runtime for deploying and managing Web services.

WSAS comes with a set of admin services which are hidden from the user - since they are used internally for WSAS administration.

This post takes you through WSAS admin services - if you are to interact with WSAS at an API level its better you understand those.

Following extracts show each service with it's correspondig functionality - later we'll see how we could invoke GlobalAdmin service.
<!-- https://localhost:9443/services/ServerAdmin?wsdl -->
<wsdl:operation name="getServerStatus"> 
<wsdl:operation name="getServerVersion"> 
<wsdl:operation name="endMaintenance"> 
<wsdl:operation name="shutdownGracefully"> 
<wsdl:operation name="getServerData"> 
<wsdl:operation name="restart"> 
<wsdl:operation name="getServerDataAsString"> 
<wsdl:operation name="isAlive"> 
<wsdl:operation name="getStatus"> 
<wsdl:operation name="shutdown"> 
<wsdl:operation name="restartGracefully"> 
<wsdl:operation name="startMaintenance"> 
<!-- https://localhost:9443/services/LogViewAdmin?wsdl -->
<wsdl:operation name="clearLogs"> 
<wsdl:operation name="getLogs"> 
<wsdl:operation name="searchLog"> 
<wsdl:operation name="getLogsForSingleLogLevel"> 
<!-- https://localhost:9443/services/LoggingAdmin?wsdl -->
<wsdl:operation name="getAllLoggerData"> 
<wsdl:operation name="updateAllAppenderData"> 
<wsdl:operation name="updateSystemLog"> 
<wsdl:operation name="getAppenderData"> 
<wsdl:operation name="updateLoggerData"> 
<wsdl:operation name="restoreDefaults"> 
<wsdl:operation name="getLoggerData"> 
<wsdl:operation name="getSystemLog"> 
<wsdl:operation name="getStatus"> 
<!-- https://localhost:9443/services/UserAdmin?wsdl -->
<wsdl:operation name="removeUser"> 
<wsdl:operation name="editUserPassword"> 
<wsdl:operation name="assignRoleToUser"> 
<wsdl:operation name="getRoleNamesAndDescriptions"> 
<wsdl:operation name="getRoleNames"> 
<wsdl:operation name="editUserRole"> 
<wsdl:operation name="getUsers"> 
<wsdl:operation name="deleteUser"> 
<wsdl:operation name="addAdmin"> 
<wsdl:operation name="editAdmin"> 
<wsdl:operation name="deleteRoleFromUser"> 
<wsdl:operation name="getUserRoles"> 
<wsdl:operation name="deleteRoleCompletely"> 
<wsdl:operation name="addUser"> 
<wsdl:operation name="addRole"> 
<wsdl:operation name="getUserNames"> 
<wsdl:operation name="changeUserPassword"> 
<!-- https://localhost:9443/services/GlobalAdmin?wsdl -->
<wsdl:operation name="logout"> 
<wsdl:operation name="deployService"> 
<wsdl:operation name="isServerRegistered"> 
<wsdl:operation name="serverRegistered"> 
<wsdl:operation name="setPolicy"> 
<wsdl:operation name="deployModule"> 
<wsdl:operation name="ping"> 
<wsdl:operation name="login"> 
<wsdl:operation name="restoreDefaults"> 
<wsdl:operation name="listGlobalPhases"> 
<wsdl:operation name="listGlobalPhaseHandlers"> 
<wsdl:operation name="getDeclaredSystemParameters"> 
<wsdl:operation name="getPolicy"> 
<wsdl:operation name="setSystemParameter">
<!-- https://localhost:9443/services/ServiceGroupAdmin?wsdl -->
<wsdl:operation name="setServiceGroupParameter"> 
<wsdl:operation name="dumpAAR"> 
<wsdl:operation name="setPolicy"> 
<wsdl:operation name="listServiceGroup"> 
<wsdl:operation name="deleteServiceGroup"> 
<wsdl:operation name="setServiceGroupParameters"> 
<wsdl:operation name="getDeclaredServiceGroupParameters"> 
<wsdl:operation name="removeServiceGroupParameter"> 
<wsdl:operation name="getServiceGroupParameters"> 
<wsdl:operation name="configureMTOM"> 
<wsdl:operation name="removeServiceGroup"> 
<wsdl:operation name="getPolicy">
<wsdl:operation name="listServiceGroups"> 
<!-- https://localhost:9443/services/ServiceAdmin?wsdl -->
<wsdl:operation name="getNumberOfInactiveServices"> 
<wsdl:operation name="creatService"> 
<wsdl:operation name="getServiceInfo"> 
<wsdl:operation name="getDeclaredServiceParameters"> 
<wsdl:operation name="createAndDeploySpringBean"> 
<wsdl:operation name="removeSoap12BindingPolicy"> 
<wsdl:operation name="getServiceStatus"> 
<wsdl:operation name="removeServiceSpecificParameter"> 
<wsdl:operation name="createAndDeployEJBService"> 
<wsdl:operation name="setServiceParameter2"> 
<wsdl:operation name="getNumberOfActiveServices"> 
<wsdl:operation name="setSoap12BindingPolicy">
<wsdl:operation name="setHttpBindingPolicy"> 
<wsdl:operation name="setPolicy"> 
<wsdl:operation name="addTransportBinding"> 
<wsdl:operation name="listMethodsForClass"> 
<wsdl:operation name="setSoap11BindingPolicy"> 
<wsdl:operation name="exposeServiceOnlyViaTransports"> 
<wsdl:operation name="setServiceParameter3"> 
<wsdl:operation name="setServiceParameter"> 
<wsdl:operation name="getSchema"> 
<wsdl:operation name="getPolicies"> 
<wsdl:operation name="setServiceParameters"> 
<wsdl:operation name="getServiceUsers"> 
<wsdl:operation name="getServiceParameters"> 
<wsdl:operation name="getNumberOfFaultyServices"> 
<wsdl:operation name="getClassNames">
<wsdl:operation name="deleteFaultyServiceArchive"> 
<wsdl:operation name="getServiceUsersWithDescription"> 
<wsdl:operation name="getFaultyServiceArchives"> 
<wsdl:operation name="configureMTOM"> 
<wsdl:operation name="removeHttpBindingPolicy"> 
<wsdl:operation name="getSpringBeanNames"> 
<wsdl:operation name="getExposedTransports"> 
<wsdl:operation name="removeTransportBinding"> 
<wsdl:operation name="removePolicy"> 
<wsdl:operation name="getServiceRolesWithDescription"> 
<wsdl:operation name="stopService"> 
<wsdl:operation name="startService">
<wsdl:operation name="listServices"> 
<wsdl:operation name="removeSoap11BindingPolicy"> 
<wsdl:operation name="getServiceData"> 
<wsdl:operation name="removeServiceParameter"> 
<wsdl:operation name="getWSDL"> 
<wsdl:operation name="getPolicy">
<wsdl:operation name="createAndDeployService">
You can find rest of the services from following available end points.
https://localhost:9443/services/GeneralServices?wsdl
https://localhost:9443/services/STSAdmin?wsdl
https://localhost:9443/services/Sandesha2Admin?wsdl
https://localhost:9443/services/EJBProviderAdmin?wsdl
https://localhost:9443/services/DataServiceAdmin?wsdl
https://localhost:9443/services/SecurityScenarioConfigAdmin?wsdl
https://localhost:9443/services/AxisConfigAdmin?wsdl
https://localhost:9443/services/CryptoAdmin?wsdl
https://localhost:9443/services/TransportAdmin?wsdl
https://localhost:9443/services/LoggingService?wsdl
https://localhost:9443/services/ModuleAdmin?wsdl
https://localhost:9443/services/OperationAdmin?wsdl
Now lets try to login to WSAS through GlobalAdmin service.
final static String GLOBAL_SERVICE = "https://localhost:9443/services/GlobalAdmin";

GlobalAdminStub globalAdmin = null;
String path = null;
Options options = null;

try {
path = System.getProperty("user.dir");

// You can copy wso2wsas.jks from [WSAS_HOME]\conf
System.setProperty("javax.net.ssl.trustStore", path + "/src/wso2wsas.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "wso2wsas");

globalAdmin = new GlobalAdminStub(GLOBAL_SERVICE);
options = globalAdmin._getServiceClient().getOptions();
options.setManageSession(true);

// Login first
if (globalAdmin.login("admin", "admin")) {
globalAdmin.isServerRegistered();
}

} catch (Exception e) {
e.printStackTrace();
}

1 comments:

Vern Mills said...

Given my absolute devotion to the Apache platform, I'd be very curious to try out this engine on one of my web servers. Thanks for the screens!