 Running the OpenSOAP Server

(0) To run the OpenSOAP Server a HTTP Server is required.
At this time, operation with apache httpd 1.3.22 has been verified.

(1) In accordance INSTALL.txt, build and install the OpenSOAP Server.
Pay particular attention to the directory where soapInterface.cgi is installed.
This is used to connect apache httpd and the OpenSOAP Server.
The default setting places it in /home/httpd/cgi-bin, and, if necessary, use
the --with-cgi-bin to specify the CGI executable directory.

((2) Refer to RegistService.txt for instructions on registering the service with inetd (xinetd).
A warning will be issued indicating that it is an error to run the service programs as root.

(3) Edit the server settings file(server.conf) to be found under /usr/local/opensoap/etc/.

* Log files for all server processes
  <log>
    <path>/usr/local/opensoap/var/log/</path>
  </log>

* Server internal SOAP Message temporary directory
  <spool>
    <soap_message>
      <path>/usr/local/opensoap/var/spool/</path>
    </soap_message>

* Server internal asynchronous message temporary directory
    <async_table>
      <path>/usr/local/opensoap/var/spool/</path>
    </async_table>
  </spool>

* Server Processes ID management directory
  <run>
    <pid>
      <path>/usr/local/opensoap/var/run/</path>
    </pid>

* Server Processes Socket management directory
    <socket>
      <path>/usr/local/opensoap/var/run/</path>
    </socket>
  </run>

* Server Internal Signature Authentication management directory
  <security>
    <keys>
      <path>/usr/local/opensoap/etc/</path>
    </keys>
  </security>

* Service management SSML file registration directory
  <ssml>
    <path>/usr/local/opensoap/etc/ssml/</path>
  </ssml>

* Use the following setting when specifying the return EndPoint for an
  asynchronous request message. The following setting is required in order
  to indicate to the message responder where to send the message, and must
  be set to this server's location. Basically the <hostname> contains
  this server's location. In the following example the response will be
  sent to
    http://myhost.opensoap.jp/cgi-bin/soapInterface.cgi

  <backward xmlns='x-schema:BackwardConfSchema.xml'>
    <protocol>http</protocol>
    <hostname>myhost.opensoap.jp</hostname>
    <port>80</port>
    <cgi_location>/cgi-bin/soapInterface.cgi</cgi_location>
  </backward>

* When the appropriate service is not available in this server, use the following
  setting to specify the EndPoint server to which the message will be forwarded.
  Basically the <hostname> contains the server to which the message will be forwarded.
  In the following example, the message will be forwarded to
    http://yourhost.opensoap.jp/cgi-bin/soapInterface.cgi

  <forwarder xmlns='x-schema:ForwarderConfSchema.xml'>
    <protocol>http</protocol>
    <hostname>yourhost.opensoap.jp</hostname>
    <port>80</port>
    <cgi_location>/cgi-bin/soapInterface.cgi</cgi_location>
  </forwarder>

* Regarding server control messages for asynchronous message ID, etc.,
  the following setting is used to specify whether the server's signature
  is attached or not. When adding a signature, set this to true.

  <add_signature>false</add_signature>

(4) The service settings files, SSML files, are place under /usr/local/opensoap/etc/ssml/ .
Refer to the file SSML_Readme.txt, in the same directory, for a description of SSML usage.

(5) Verify that the apache httpd is running.
If not, start the httpd server.

(6) Initiating the server process.
This is performed through the path ${bindir}.(The default is /usr/local/opensoap/sbin)
(6-00) Execute the command ${bindir}/opensoap-server-ctl start
* 1: To stop the server use the command ${bindir}/opensoap-server-ctl stop
* 2: When additions are made to the SSML execute the command ${bindir}/opensoap-server-ctl reload .
=============
 Process List
=============
* 3: In the case of (6-00) above, execute the commands (6-01) to (6-11) below.

(6-01) ${bindir}/srvConfAttrMgr 
          Server configuration attribute manager process
(6-02) ${bindir}/ssmlAttrMgr 
          SSML attribute manager process
(6-03) ${bindir}/idManager 
          Internal messaging manager process
(6-04) ${bindir}/msgDrvCreator 
          Message processing distribution manager process
(6-05) ${bindir}/srvDrvCreator 
          Service call manager process
(6-06) ${bindir}/srvDrvCreator 1 
          Asynchronous service call manager process
(6-07) ${bindir}/fwderCreator 
          Message forwarding manager process
(6-08) ${bindir}/queueManager 
          Message queue manager process
(6-09) ${bindir}/queueManager 1 
          Forwarding message queue manager process
(6-10) ${bindir}/spoolManager 
          Asynchronous response message spool manager process
(6-11) ${bindir}/ttlManager 
          Message TTL manager process

* 4: Use this OpenSOAP Server process list to manually terminate any remaining processes.

(7) Run the client program.

======================================
 OpenSOAP Server Debug/Bug Reporting

(1) All program logs can be found under /usr/local/opensoap/var/log/ .
Please check here when any errors are encountered.(Default server.conf)

(2) Use the CXXFLAGS=-DDEBUG configure option to generate detailed logs.

(3) If any program terminates abnormally, its name will not be displayed
on execution of the command opensoap-server-ctl stop. This indicates that
the program terminated prematurely. Please feel free to report any errors
or bugs that are encountered. 
