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

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!