Dispatching requests in SOAP

Hi!
1. I have built a small SOAP server and wonders and have a few
questions. I included the code below if it is of interest!

1. What is the best trick to get these requests spawned into new
threads/processes so that the server will always be available? (if
running as standalone server)

2. Is the trick to have it to run in the web server?
3. Is the web server thing accomplished by letting the script run as a
CGI script?

This how I have done my SOAP server test:

···

------------
require 'server_dispatcher'
require 'soap/rpc/standaloneServer'

class DeliveryService < SOAP::RPC::StandaloneServer
  #will be run when an instance of this class is created
  def on_init
       obj = MyClass.new
          add_method(obj, "find", "array")
  end
end

class MyClass
  def find(array)
    return array.push("extra")
  end
end
-------------------

main prog:
-------------------
require 'delivery_service'

server = DeliveryService.new("Test",
"http://rickthemick.com/DeliveryService", "0.0.0.0", 9090)
trap('INT') {
  server.shutdown
}

puts "Service started..."
server.start
-------------------

--
Posted via http://www.ruby-forum.com/.

Hi,

Rickard Sjostrom wrote:

1. What is the best trick to get these requests spawned into new
threads/processes so that the server will always be available? (if
running as standalone server)

Standalone server creates threads for each request. Your sample ar
already doing that and the server should always be available.

2. Is the trick to have it to run in the web server?

Standalone server does. In web server, creating threads/processes is
generally a task of web server (you don't have to mind.)

3. Is the web server thing accomplished by letting the script run as a
CGI script?

With web server, yes. CGI or FCGI. See the blog [1] (not mine) for let
FCGI work though it's in Japanese.
[1] SOAP4Rをfcgi経由で動かす - 世界線航跡蔵

Regards,
// NaHi