QuakeWatch Web Services Manual
(for Version 1.0)





Introduction

     The QuakeWatch Web Services server implements a system for delivering messages via the Simple Object Access Protocol (SOAP) over HTTP via a polling mechanism.  The Web Services server uses an encapsulated QuakeWatch Server (QWServer) to manage the collection and storage of messages.



Installing QWWebServices

     Use of the QuakeWatch Web Services requires that a Java Version Machine (JVM) version 1.4 or higher be available on the host system.  An installable version of the Java Runtime Environment (JRE) containing the latest JVM may be downloaded from Sun.
     The QuakeWatch Web Services are deployed into a web server with Axis/SOAP support installed.  A setup using the Apache Tomcat web server and Apache Axis is described below. Note that the Apache Tomcat program may require that the full Java Software Development Kit (SDK) be installed.
     The instructions in this manual document how to install and run the Tomcat server in "stand-alone" mode.  In many installations it will be desirable to run Tomcat as a service attached an existing Apache Server installation, especially when the default 'http' (80) and 'https' (443) ports are to be used.  See the Tomcat documentation for more information on this.
     The
deployment of the QuakeWatch Web Services configures the web server to support the QuakeWatch web services methods.  A server-side script or batch file is used to start and stop the encapsulated QWServer program.  Web services client programs are able to access the encapsulated QWServer via the web server (using the QuakeWatch web services methods).

     The QuakeWatch Web Services distribution contains the following files
:

QWWebServices.jar - Java archive file containing the classes for the QuakeWatch Web Services program.
axis - Unix script for the QuakeWatch Web Services.
axis.bat - Windows batch file for the QuakeWatch Web Services.
conf/QWServerConfig.xml - A sample configuration file for the QuakeWatch Server.
conf/QWServerConfig_relay.xml - A sample configuration file for the QuakeWatch Server.
doc/QWWebServices.html - The QuakeWatch Web Services manual.
doc/res - Resource files for the QuakeWatch Web Services manual.
deploy.wsdd - Web services description file for deploying service.
undeploy.wsdd - Web services description file for undeploying service.
QWWebServicesSrc.zip - Source code for Web Services.
server/OpenORBNotif.jar - CORBA library support for the QuakeWatch Server.
server/QWServerWS.jar - Program "jar" file for the QuakeWatch Server.
client/QWWebServicesClient.jar - Program "jar" file for sample Web Services client.
client/QWWebServicesClientSrc.zip - Source code for sample Web Services client.
test/ - Test scripts (see "test/ReadMe.html" file).

     These files should be unpacked into an installation directory for the QuakeWatch Web Services.  On Unix systems, the "axis" script may need to be made executable via the command "chmod 755 axis".

     The Apache Tomcat program should be installed and may downloaded from http://tomcat.apache.org.  The QuakeWatch Web Services server has been tested using Tomcat versions 4.1.31 and 5.5.12.  If the 5.5.12 version of Tomcat is downloaded then the "Core" package should be installed (and, if a version of Java lower than 1.5 is in use then the "Compatibility" package should also be installed).

     The URL addresses referenced in this manual assume that the Tomcat server is configured to run on the local machine ("localhost") at the port address 8080 (and port address 8443 if SSL/'https' support is enabled).

     The Apache Axis program should be installed and may be downloaded from http://ws.apache.org/axis.
  The QuakeWatch Web Services server has been tested using Axis 1.3.

These environment variables should be setup: The following is an example set of environment variables under Windows:
JAVA_HOME=C:\j2sdk1.4.2_06
CATALINA_HOME=C:\Apache\tomcat
AXIS_HOME=C:\Apache\axis

      The maximum-memory-allocation size for the Java virtual machine should be increased to 256MB by setting the "JAVA_OPTS" environment variable to "-Xmx256m".

     
If the version of Tomcat in use is lower than 5.5.12, the number of threads/processes should be increased from their defaults in the "conf/server.xml" file (in the Tomcat installation) by changing the 'minProcessors' value from 5 to 15 and the 'maxProcessors' value from 75 to 345.  (This increases the number of concurrent connections allowed.)

     If the Tomcat web server is running at a port other than 8080 then the environment variable "QWWSPORTNUM" may be set to the port number; for example:  QWWSPORTNUM=80.  This environment variable will then be used by the "axis" script (or "axis.bat" batch file) to locate the web server.

The following steps should be taken to install the Axis web-application and the QuakeWatch Web Services into the Tomcat server installation:

     Copy the "axis" directory from the "webapps" directory in the Axis installation to the "webapps" directory in the Tomcat installation.
     Copy the OpenORB CORBA-library "jar" file ("OpenORBNotif.jar") from the 'server' directory in the Web Services distribution to the "common/endorsed" directory (if Tomcat earlier than v6) or "lib" directory (if Tomcat v6 or later) in the Tomcat installation.
     Copy the QuakeWatch Server "jar" file ("QWServerWS.jar") from the 'server' directory in the Web Services distribution to the "webapps/axis/WEB-INF/lib" directory in the Tomcat installation.
     Copy the Web Services "jar" file ("QWWebServices.jar") from the Web Services distribution to the "webapps/axis/WEB-INF/lib" directory in the Tomcat installation.

     An archive containing a sample installation of Tomcat v5.5.12 and Axis v1.3 may be found at this location:  http://www.isti2.com/QWIDS/res/QWWS_tomcat_axis.tar.gz.  The installation has the "axis" directory copied over, and it has user entries for "tcadmin" ('manager' and 'admin') and "axuser" setup in the "conf/tomcat-users.xml" file as described in the sections below.

     Detailed documentation may be found in the "webapps/tomcat-docs" directory in the Tomcat installation and in the "docs" directory in the Axis installation.



Tomcat Manager Application

     The standard Tomcat installation includes a "Manager" web-application, which may be used to start and stop and the 'Axis' web-services without affecting the rest of the Tomcat web server (which can make web-services updates easier).  To enable access to the application, a user with the "manager" role must be created.  This may be done via the "Administration" application (described in the next section), or by adding an entry to the "conf/tomcat-users.xml" file (in the Tomcat installation) such as the following:

  <user username="tcadmin" password="tcpwd" roles="manager"/>

The "tcadmin" username and "tcpwd" password may be set to any arbitrary values.  When the Tomcat server is running, the "Manager" web-application can be accessed by clicking on the "Tomcat Manager" link on the top-left of the Tomcat "welcome" page or via the URL http://localhost:8080/manager/html.  The username and password for a user with a "manager" role will be needed to access the application.



Tomcat Administration Application

     The Tomcat installation supports an "Administration" web-application, which may be used to configure user entries and other server parameters.  If the 5.5.12 version of Tomcat is in use then the "Administration" package will need to be downloaded and installed.
     To enable access to the application, a user with the "admin" role must be created by adding an entry to the "conf/tomcat-users.xml" file (in the Tomcat installation) such as the following:

  <user username="tcadmin" password="tcpwd" roles="admin"/>

The "tcadmin" username and "tcpwd" password may be set to any arbitrary values.  When the Tomcat server is running, the "Administration" web-application can be accessed by clicking on the "Tomcat Administration" link on the top-left of the Tomcat "welcome" page or via the URL http://localhost:8080/admin.  The username and password for a user with an "admin" role will be needed to access the application.

Note that a single user may have multiple 'roles; for example:

  <user username="tcadmin" password="tcpwd" roles="manager,admin"/>



Login Authorization for Web Services

     The Axis application on the Tomcat server may be configured to require a valid username/password login to access all web services deployed on the server, via the following steps:

1. Create a new "role" for accessing the Axis application.  This may be done via the Tomcat Administration Application (described above) or by adding an entry to the "conf/tomcat-users.xml" file (in the Tomcat installation) such as the following:

  <role rolename="axisrole"/>

The "axisrole" name may be set to any arbitrary value, but it must match the role name used in the steps below.

2. Create a user with the Axis-access role.  This may be done via the Tomcat Administration Application (described above) or by adding an entry to the "conf/tomcat-users.xml" file (in the Tomcat installation) such as the following:

  <user username="axuser" password="axispwd" roles="axisrole"/>

3. Add a security constraint to the Axis application.  This is done by adding entries to the "webapps/axis/WEB-INF/web.xml" file in the Tomcat installation (the entries can be inserted just before the "</web-app>" declaration at the end of the file):

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Protected</web-resource-name>
      <!-- Specify the directory for Protected Web Services -->
      <url-pattern>/*</url-pattern>
    </web-resource-collection>
  
    <auth-constraint>
      <!-- specify the role name for access to this webapp -->
      <role-name>axisrole</role-name>
    </auth-constraint>

<!-- Uncomment this to allow access only via SSL/'https' -->
<!--
    <user-data-constraint>
      <description>Require encrypted data transmission</description>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
-->
  </security-constraint>

  <!-- Define the Login Configuration for this Application -->
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Protected Web Services</realm-name>
  </login-config>

<!-- Uncomment this if using Tomcat v5.5.12 or later -->
<!--
  <security-role>
    <role-name>axisrole</role-name>
  </security-role>
-->

If the 5.5.12 version of Tomcat is in use then the "<security-role>" entry may enabled by removing the comment tags ( "<!--" / "-->" ) around it--this will prevent a warning message from being generated when Tomcat starts up.  However, some earlier versions of Tomcat do not support this entry and will fail during startup if it is included.

When login authorization is in use, it can be desirable to use SSL/'https' protocol to prevent the username/password data from being sent as clear text.  See the "Enabling SSL/'https' Protocol" section below for more information.  If SSL/'https' protocol is enabled and the desired configuration is for the web services to be accessible only via SSL/'https' protocol, this may be accomplished by removing the comment tags ( "<!--" / "-->" ) around the "<user-data-constraint>" entry.  When this configuration is in place and a web-services client attempts to access the services using standard 'http' protocol, the server will "redirect" the client to the SSL/'https' address for the services.

     If login authorization is in use, the "axis" script (or "axis.bat" batch file) will need access to the login username and password for the web services.  In "standard" Tomcat setups that use the "conf/tomcat-users.xml" file, the login username and password will be automatically detected.  (When this happens a message like 'Using user "axuser" for Axis authorization' will be sent to the console.)
     The login username and password may also be specified on the command line via the "-u" and "-w" parameters; for example: 
axis startServer -uaxuser -waxispwd
     See the sections below for more information on using the "axis" command.




Enabling SSL/'https' Protocol

     The Tomcat server may be configured to enable the use of SSL/'https' protocol.  When it is enabled, clients may use either SSL/'https' or standard 'http' protocol to communicate with the server.  When SSL/'https' protocol is used, all client/server communications are encrypted.  The following steps may be used to enable an SSL/'https' connector using port 8443 on the Tomcat server:

1. Create a certificate keystore and a certificate for Tomcat by executing the following command:

  Windows: 
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
  Unix: 
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

After executing this command, you will first be prompted for the keystore password.  The default password used by Tomcat is "changeit" (all lower case), although you can specify a custom password if you like (in which case you will also need to specify the custom password in the "conf/server.xml" configuration file).

Next, you will be prompted for general information about this certificate, such as company, contact name, and so on.  This information will be included in the certificate data.

Finally, you will be prompted for the key password, which is the password specifically for this certificate (as opposed to any other certificates stored in the same keystore file).  You must use the same password here as was used for the keystore password itself.  (The keytool prompt will tell you that pressing the 'Enter' key does this for you automatically.)

2. Uncomment the "SSL Connector" entry.  In the "conf/server.xml" file (in the Tomcat installation), an example "Connector" element for an SSL connector is included:
       
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector
           port="8443" minProcessors="5" maxProcessors="75"
           enableLookups="true" disableUploadTimeout="true"
           acceptCount="100" debug="0" scheme="https" secure="true";
           clientAuth="false" sslProtocol="TLS"/>
-->


Remove the comment tags ( "<!--" / "-->" ) around the element in the file. 
If the version of Tomcat in use is lower than 5.5.12, the number of threads/processes should be increased from their defaults by changing the 'minProcessors' value from 5 to 15 and the 'maxProcessors' value from 75 to 345.  (This increases the number of concurrent connections allowed.)

The "port" attribute (default value is 8443) is the TCP/IP port number on which Tomcat will listen for SSL/'https' connections.  You can change this to any port number you wish (such as to the default port for 'https' communications, which is 443).  However, special setup is necessary to run Tomcat on port numbers lower than 1024 on many operating systems.  (If you change the port number here, you should also change the value specified for the "redirectPort" attribute on the non-SSL connector.  This allows Tomcat to automatically redirect users who attempt to access a page with a security constraint specifying that SSL is required.)

     More information may be found in the "SSL Configuration HOW-TO" guide in the Tomcat documentation.




Starting and Stopping the Tomcat Server

     The Tomcat server may be started by executing "startup" via a command line operating out of the Tomcat "bin" directory (startup.sh for Unix or startup.bat for Windows).

     The Tomcat server may be stopped by
executing "shutdown" via a command line operating out of the Tomcat "bin" directory (shutdown.sh for Unix or shutdown.bat for Windows).

     The Tomcat server may also be started by executing "catalina start" and stopped by executing "catalina stop".

     When its configuration files are being modified, the Tomcat server should not be running.



Deploying QWWebServices

     The first time QuakeWatch Web Services are installed they need to be deployed.  The following steps may be used to deploy the web services: The core axis libraries are present. 1 optional axis library is missing
Processing file deploy.wsdd
<Admin>Done processing</Admin>
If the "axis" command fails, verify that the required environment variables are setup properly (as described in the "Installing QWWebServices" section).  If the error message "Login username/password not accepted" is displayed, the login username and password (configured in the "Login Authorization for Web Services" section) may need to be specified via the "-u" and "-w" parameters; for example:  axis deploy -uaxuser -waxispwd
You should now see the QuakeWatch Web Services included in the list:
QWWebServices (wsdl) 
* setServerBaseDirStr
* startServer
* ...

Note that after the services are deployed they are persisted across instances of the Tomcat server.



Undeploying QWWebServices

To undeploy the web services, do the following:

Processing file undeploy.wsdd
<Admin>Done processing</Admin>

You should no longer see the following QuakeWatch Web Services:
QWWebServices (wsdl) 
* setServerBaseDirStr
* startServer
* ...



Running QWWebServices

     Before running the QuakeWatch Web Services server for the first time, its configuration should be customized.  See the "Server Configuration File" section for more information.

To run the QuakeWatch Web Services server:

axis startServer
An optional "-c #" parameter may be appended to the end of the command to specify the number of attempts to make at starting up the server, where "#" is a number.  Specifying multiple attempts can be useful for startup situations where the Tomcat server is not immediately ready.  A "#" value of 0 will result in the command being attempted indefinitely until successful.  If the parameter is not specified then the command will be attempted once.  An example usage of this parameter is:
axis startServer -c 0
      A successful launch of the server will generate messages similar to these:
Connecting to service at http://localhost:8080/axis/services/QWWebServices
Invoking method "setServerBaseDirStr", got result : "true"
Invoking method "startServer", got result : "true"
If the "axis" command fails, verify that the required environment variables are setup properly (as described in the "Installing QWWebServices" section).  If the error message "Login username/password not accepted" is displayed, the login username and password (configured in the "Login Authorization for Web Services" section) may need to be specified via the "-u" and "-w" parameters; for example:  axis startServer -uaxuser -waxispwd

     The following command may be used to determine if the server is running:
axis isServerRunning
If the server is running then the result will be "true"; if not then "false".

Note, however, that server errors may still occur after the above messages are generated.  The server-generated log files should be checked for error messages (see below).

     The QuakeWatch Web Services server will generate log files into a "log" directory and message-archive files into a "storage" directory.  These directories will be created in the QuakeWatch Web Services installation directory.  After starting the server, the generated log files should be checked to verify that the server is running successfully.  Fatal error and warning messages will be sent to the "QWServerConsole.txt" file, and the other log files will contain more detailed information.

     To stop the QuakeWatch Web Services server,
execute the following via a command line operating out of the QuakeWatch Web Services installation directory:
axis stopServer
     Note that the "startServer" command generates a "qwServerAccess.dat" file that is used later by the "stopServer" command.

     The
QuakeWatch Web Services server may also be started via the command "axis start" and stopped via the command "axis stop".



Updating QWWebServices

     The procedure for updating the version of QuakeWatch Web Services in use with a Tomcat installation varies depending on whether or not the "server/OpenORBNotif.jar" file has changed.  If the "server/OpenORBNotif.jar" has not changed then only the Axis application needs to be stopped, and the following procedure is used:      If the "server/OpenORBNotif.jar" has changed then the Tomcat server needs to be shut down, and the following procedure is used:


Server Configuration File

     The "QWServerConfig.xml" file (found in the "conf" directory of the QuakeWatch Web Services installation) contains a sample configuration for the QuakeWatch Server.  The web services implementation utilizes the QuakeWatch Server running in a special mode without the Notification-Service event channel and without the CORBA QWServices.  This is done by configuring the QWServer as follows:

qwServicesAvailFlag = false
     This flag is set to 'false' to disable CORBA QWServices.

notifSvcPortNum = 0
     Port number specification for the CORBA-event-channel that determines where the server will expect to find the CORBA-event-channel.  This should be set to "0" for web services.

systemExitOnCloseFlag = false
     Configures whether the server will perform "System.exit()" at the end of its close-program procedure.  This should be set to 'false' for web services to prevent "System.exit()" from being performed.

     The "serverIdName" configuration parameter in the
"QWServerConfig.xml" file should be modified to contain a server-ID name that is unique to the particular web services installation.

     The default
"QWServerConfig.xml" file is configured to use a "QWRelay" feeder module.  The "<QWFeederSettings>" element in the file may need to be modified to specify the location of the source QuakeWatch Server.  A server-login-information file (referenced via the "loginInfoFileName" parameter) may be needed to successfully connect to a source QuakeWatch server.

    
Also included is the "QWServerConfig_corba.xml" file, which demonstrates the configuration for a "QWCorba" feeder.

     See the QuakeWatch Server manual ("QWServer.html") in the "doc" directory of the Web Services distribution for more information.




WSDL for QWWebServices

     To generate the WSDL for the QuakeWatch Web Services, view the following URL in a web browser:  http://localhost:8080/axis/services/QWWebServices?wsdl.  Note that the Tomcat/Axis server must be running with the QWWebServices deployed before the WSDL is generated.



Web Services Sample Client

     A sample client program is included with the QuakeWatch Web Services distribution.  It is intended as a reference-example for programmers on how to create a web-services client program.  The following files are included with the QuakeWatch Web Services distribution:

client/QWWebServicesClient.jar - Program "jar" file for the sample Web Services client.
client/QWWebServicesClientSrc.zip - Source code for the sample Web Services client.

     To run the client, use the command "java -jar QWWebServicesClient.jar" via a command line operating out of the "client" directory.  The client will, by default, attempt to connect to web services running on the local machine at port 8080.  The "-l" parameter may be used to specify the URL of the web services.  For example:

java -jar QWWebServicesClient.jar -lhttp://192.168.0.1:8080/axis/services/QWWebServices

     (The login username and password may be specified on the command line via the "-u" and "-w" parameters.)
     The client polls the Web Services server for messages, sending received-message data to the console and writing message files into the "msgOutput" directory (under the "client" directory).  The value for the polling interval is retrieved from the Web Services server (via the "getPollingInterval()" method).  The client also uses the "msgProcess" directory for temporary files and the "log" directory for log output files that it generates.
     When the client starts up it requests from the server all messages that are not more than an hour old, and then monitors the server for new messages.  The client may be terminated by entering "Q" followed by the "Enter" key.  The client does not keep track of the last-received message between instances of the program.

     The "QWWebServicesClientSrc.zip" archive contains source files for the client and support files for building it as a project in Borland JBuilder.  The following libraries are needed to build the project:
     The Sun "JavaMail" and "Activation" libraries are referenced by the project to prevent Axis from generating an "Attachment support is disabled" warning, but they are not otherwise needed.  The Sun "JavaMail" library is available at http://java.sun.com/products/javamail.  The "JavaMail" distribution should be put into a "JavaMail" directory one level above the "QWWebServicesClient" directory, and the "Activation" distribution should be put into a "jaf" directory inside of the "JavaMail" directory.

     See the "List of Web Services Methods" section below for descriptions of the methods that may be called by web-services clients
.



List of Web Services Methods

The following methods are available for use by web-services clients:.

  /**
* Determines if the QWServer is running.
* @return true if the QWServer is running, false otherwise.
*/
public static boolean isServerRunning()

/**
* Requests that messages newer or equal to the specified time value or
* later than the specified message number be returned. If a non-zero
* message number is given and the given time value matches then
* messages with message numbers greater than the given message number
* are returned; otherwise messages newer or equal to the specified time
* value are returned (within a tolerance value). An XML message
* containing the messages is built and returned, using the following
* format: <pre>
* [QWresend NumRequested="10"]
* [QWmessage ...] [/QWmessage]
* [QWmessage ...] [/QWmessage]
* ...
* [/QWresend]
* </pre> (Substitute angle brackets for square brackets.)
* The number of messages that would be required to fill the request
* is returned in the "NumRequested" attribute. However, no more than
* the oldest 'maxResendNumMsgs' number of messages will be returned
* in any single call to this method (additional calls may be needed to
* fetch all of the desired messages).
* @param timeVal the time-generated value for message associated with
* the given message number, or the requested time value to be used
* (milliseconds since 1/1/1970).
* @param msgNum the message number to use, or 0 or none.
* @return An XML-formatted string containing the messages, or an empty
* string if an error occurs.
*/
public static String requestMessages(long timeVal, long msgNum)

/**
* Requests that messages newer or equal to the specified time value or
* later than the specified message number be returned. If a non-zero
* message number is given and the given time value matches then
* messages with message numbers greater than the given message number
* are returned; otherwise messages newer or equal to the specified time
* value are returned (within a tolerance value). Only messages whose
* event domain and type names match the given list of domain and type
* names will be returned (unless the given list is an empty string).
* An XML message containing the messages is built and returned, using
* the following format: <pre>
* [QWresend NumRequested="10"]
* [QWmessage ...] [/QWmessage]
* [QWmessage ...] [/QWmessage]
* ...
* [/QWresend]
* </pre> (Substitute angle brackets for square brackets.)
* The number of messages that would be required to fill the request
* is returned in the "NumRequested" attribute. However, no more than
* the oldest 'maxResendNumMsgs' number of messages will be returned
* in any single call to this method (additional calls may be needed to
* fetch all of the desired messages).
* @param timeVal the time-generated value for message associated with
* the given message number, or the requested time value to be used
* (milliseconds since 1/1/1970).
* @param msgNum the message number to use, or 0 or none.
* @param domainTypeListStr a list string of event domain and
* type names in the format "domain:type,domain:type...", where
* occurrences of the ':' and ',' characters not meant as
* separators may be "quoted" by preceding them with the
* backslash ('\') character and list items missing the ':'
* character will be considered to specify only a domain name
* (the type name will be an empty string); or an empty string
* for none.
* @return An XML-formatted string containing the messages, or an empty
* string if an error occurs.
*/
public static String requestFilteredMessages(long timeVal,long msgNum,
String domainTypeListStr)

/**
* Requests that messages corresponding to the given time value and
* list of feeder-data-source host-name/message-number entries be
* returned. If a list of domain and type names is given then only
* messages whose event domain and type names match the given list
* will be returned. An XML message containing the messages is built
* and returned, using the following format: <pre>
* [QWresend NumRequested="10"]
* [QWmessage ...] [/QWmessage]
* [QWmessage ...] [/QWmessage]
* ...
* [/QWresend]
* </pre> (Substitute angle brackets for square brackets.)
* The number of messages that would be required to fill the request
* is returned in the "NumRequested" attribute. However, no more than
* the oldest 'maxResendNumMsgs' number of messages will be returned
* in any single call to this method (additional calls may be needed to
* fetch all of the desired messages).
* @param requestTimeVal the time-generated value for message associated
* with the given message number, or the requested time value to be used
* (milliseconds since 1/1/1970).
* @param hostMsgNumListStr a list of feeder-data-source
* host-name/message-number entries in the form:
* "hostName"=msgNum,...
* @param domainTypeListStr a list string of event domain and
* type names in the format "domain:type,domain:type...", where
* occurrences of the ':' and ',' characters not meant as
* separators may be "quoted" by preceding them with the
* backslash ('\') character and list items missing the ':'
* character will be considered to specify only a domain name
* (the type name will be an empty string); null or an empty string
* for none.
* @return An XML-formatted string containing the messages, or an empty
* string if an error occurs.
*/
public String requestSourcedMsgsStr(long requestTimeVal,
String hostMsgNumListStr,String domainTypeListStr)

/**
* Fetches the list of alternate web service server IDs (defined in the
* QWServer's configuration file).
* @return The list of alternate server IDs, as a string in
* the form "hostAddr:portNum,hostAddr:portNum,...".
*/
public static String getAltServersIdsListStr()

/**
* Returns the recommended polling interval time for web-services clients,
* in milliseconds.
* @return The recommended polling interval time, in milliseconds.
*/
public static String getRecommendedPollingInterval()

/**
* Returns a string of information property values for the QWServer's
* cache and the server itself. The string will contain a set of
* comma-separated entries in the form: name="value". The names
* for the entries will come from the strings found in the
* 'ServerCacheInfoStrings' class.
* @return A string containing information property values.
*/
public static String getServerCacheSummary()

/**
* Fetches a byte-array of certificate-file data from the QWServer.
* @return A byte-array of certificate-file data, or a
* zero-length array if no data is available.
*/
public byte [] getCertificateFileData()

/**
* Fetches the server ID name string (defined in the QWServer's
* configuration file).
* @return The server ID name string.
*/
public String getServerIdNameStr()

/**
* Fetches the server host address string for the QWServer.
* @return The server host address string.
*/
public String getServerHostAddrStr()

/**
* Returns the revision string for the QuakeWatch server.
* @return The revision string for the QuakeWatch server.
*/
public String getServerRevisionString()

/**
* Determines the client-version status. Clients should
* call this method on a periodic basis while they are
* connected.
* @param clientInfoStr the client-connection-information
* properties string to use.
* @return true if the an updated version of the client
* is available; false if not.
*/
public boolean clientStatusCheck(String clientInfoStr)

/**
* Returns information about available client-program upgrades.
* @param clientInfoStr the client-connection-information
* properties string to use.
* @return An XML-formatted string containing information about
* available client-program upgrades, or an empty string if a
* clients manager is not available.
*/
public String getClientUpgradeInfo(String clientInfoStr)

/**
* Disconnects the client connection.
* @param clientInfoStr the client-connection-information
* properties string for the client.
* @return true if the client was removed successfully; false
* if no matching client entry was found.
*/
public boolean disconnectClient(String clientInfoStr)

/**
* Returns the web services version string.
* @return the web services version string.
*/
public static String getWebServiceVersion()



See Also

CISN Display Installation at http://www.cisn.org/software/cisndisplay.html


4/9/2008 - Kevin Frechette / Eric Thomas, Instrumental Software Technologies, Inc. - info@isti.com