OpenSOAP Server for Windows2000 Installation Procedure
------------
Conditions :
------------
(1) libxml2 is properly installed and configured
The default installation directory is assumed to be C:\libxml2.
If the installation directory is different to the default, then all the projects
registered in OpenSOAPServer.dsw should have the C:\libxml2\ path changed to
reflect this. Also, libxml2\bin should be added to the system path.
(2) openssl is properly installed and configured
The default installation directory is assumed to be C:\openssl.
If the installation directory is different to the default, then all the projects
registered in OpenSOAPServer.dsw should have the C:\openssl\ path changed to
reflect this. Also, openssl\bin should be added to the system path.
(3) Apache is properly installed and configured
If the default installation directory has been changed, edit the APACHE_CGI_DIR
setting in the file installOpenSOAPServer.bat to match this.
(4) Compilation of the OpenSOAP Server using OpenSOAP.dsw has been properly carried out
as per win32\README.TXT.
--------------
Installation :
--------------
(1) Open the OpenSOAP Server OpenSOAPServer.dsw, select "Batch Build" from the "Build"
pull-down menu, and click on the "Build" button.
* To verify that the server functions properly build using Release mode and not
the Debug mode. In all the projects, de-select the Debug mode option and use
Release mode only to build.
(2) Execute the batch file etc\installOpenSOAPServer.bat.
This will create the directory %SystemDrive%\OpenSOAP and will copy the required
DLL's and exe files into it.
Also, the execution environment for the OpenSOAP Server will be created under
%SystemDrive%\usr\local\opensoap\ . Log files and temporary message files will be
output to this execution environment.
* It is possible to customize the execution environment. In this case, modify the
OPENSOAP_ROOT value in the batch file installOpenSOAPServer.bat to reflect any
change made in the location of the execution environment.
CAUTION : Any files that reference the contents of the directory /usr/local/opensoap
should also be customized to refer to the appropriate directory. Also the
OpenSOAP Server process should be restarted.
Files Requiring Modification :
A) \OpenSOAP\etc\StartServerWinService.bat
- Change the setting OPENSOAP_ROOT to matchthat of the file installOpenSOAPServer.bat .
B) \OpenSOAP\etc\server.conf
- Change all references to the execution environment of the server processes.
For example, if \usr\local\opensoap\ is changed to \opensoap\, then
/usr/local/opensoap/var/log/
should be changed to
/opensoap/var/log/
Similarly all references to the path /usr/local/opensoap should also be changed.
* Previously C: refers to %SystemDrive% and this will depend on how the operating system
has been installed on the machine being used.
(3) Add C:\OpenSOAP\bin and C:\OpenSOAP\user\bin to the system path.
(4) Execute the batch file C:\OpenSOAP\etc\SetUpServerWinService.bat.
This registers all of OpenSOAPServer processes as Windows Services.
* To remove the OpenSOAPServer processes, simply run the batch file
C:\OpenSOAP\etc\DeleteServerWinService.bat.
-----------------------
Execution Environment :
-----------------------
On installation, the directory C:\usr\local\opensoap will be created. Under this
directory, the following sub-directories will also be created.
* Except for (1) below, the items (2) - (4) will change depending on any cutomization
specified in (2) of the installation process.
(1) C:\OpenSOAP\etc\server.conf
This is the location for the OpenSOAP Server configuration files.
* Referring to the section dealing with server.conf in the file doc\server\README.TXT
of the package, this file contains settings for path, forwarding server information, etc.
(2) etc\ssml
This is the location for the service definition SSML files.
* When the server process is initialised, it looks here for any information regarding the
administration of services. (service name).ssml files must be properly defined and placed
here.
(3) var\spool
Temporary message and table repository for server internal processing.
(4) var\log
OpenSOAP Server logging files location.
--------------------------------------
Starting the OpenSOAP Server Process :
--------------------------------------
(1) Execute C:\OpenSOAP\etc\StartServerWinService.bat .
--------------------------------------
Stopping the OpenSOAP Server Process :
--------------------------------------
(1) Execute C:\OpenSOAP\etc\StopServerWinService.bat .
--------------------------------------------------
Reloading the OpenSOAP Server configuration data :
--------------------------------------------------
If the service SSML files
under ssml\ are modified, it is necessary to restart the OpenSOAP Server.
(1) Reloading the OpenSOAP Server can be achieved by executing the batch file
C:\OpenSOAP\etc\reloadServerWinService.bat .
* In order to reflect any changes made to the configuration files the OpenSOAP
Server MUST be reloaded. This can be achieved by executing the batch file above
or by a combination of stopping the server followed by starting the server.
------------------------------
Test Sample Execution Example:
------------------------------
Below, for illustrative purposes, is the procedure for running the Hello sample service.
(1) Layout of the sample client and service
Perform a build using the HelloClient_DLL.dsp and HelloService_DLL.dsp located under
the directory win32\OpenSOAPSamples\ of the package. Copy the files HelloClient.exe
and HelloService.exe in the directory Debug_DLL to C:\opensopa\user\bin.
* For the HelloClient sample program, the 2nd parameter of the call to the
OpenSOAPTransportSetURL() function determines whether the service is called in CGI
mode or through the OpenSOAP Server. This must be set to calling through the server.
The default compile switch (#if 1) calls the service in CGI mode. In order to
call the service through the OpenSOAP Server, edit this switch to (#if 0)
in HelloClient.c and re-build.
* With regard to the service modules, win32\OpenSOAPSamplesHelloService_cgi_DLL.dsp etc,
the files *_cgi_DLL.dsp correspond not to programs being called through the OpenSOAP server,
but rather programs that are called directly through CGI. When using the project file
win32\OpenSOAPSamples\OpenSOAPSamples.dsw to do a build make sure to build the services
for the server and not for CGI.
(2) Service Registration using SSML files
Copy the file samples\Hello\Hello.ssml to the appropriate location (as defined in server.conf),
modify the the service installation path to match where the service program is located and
restart the OpenSOAP server.
Before modification
After modification
(3) Run the sample
From thecommand prompt run the HelloClient program.
Ex.
> HelloClient OpenSOAP
Instructions to run the test sample can be found in the directory etc\SimpleCalcSample .
Please refer to the etc\SimpleCalcSample\README.TXT file for more details.
-----------------
Troubleshooting :
-----------------
If the operation of the server is not according to expectations check the following:
(1) Has the system path been properly set ?
By default, it is required to add the following to the system path:
C:\libxml2\bin;C\openssl\bin;C:\opensoap\bin;C:\opensoap\user\bin
(2) Is the server.conf file in its proper loaction, and are its contents correct ?
By default, this file must be located in C:\opensoap\etc.
As the initial locations for logging, spooling and SSML files are under /usr/local/opensoap/...
you MUST modify the contents of the server.conf file if any changes are made to these locations.
Also, any directories that are specified MUST exist.
(3) Have the relevant SSML files been placed in their proper locations, and are the contents
of these files correct ?
The SSML files must be placed in the location defined by the file C:\opensoap\etc\server.conf.
Also, check that the service execution module path has been properly defined in the SSML file.
For example,
(4) Have the service execution modules been properly constructed ?
In particular, any services that are to be called over CGI will not function
properly when called by the OpenSOAP server.
(5) Is the Apache HTTP Server running ?
If not, start the Apache HTTP server.