summaryrefslogtreecommitdiff
path: root/sample/soap/ssl/sslserver_noauth.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/soap/ssl/sslserver_noauth.rb')
-rw-r--r--sample/soap/ssl/sslserver_noauth.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/sample/soap/ssl/sslserver_noauth.rb b/sample/soap/ssl/sslserver_noauth.rb
new file mode 100644
index 0000000000..48f5a68ad0
--- /dev/null
+++ b/sample/soap/ssl/sslserver_noauth.rb
@@ -0,0 +1,45 @@
+require 'soap/rpc/httpserver'
+require 'webrick/https'
+require 'logger'
+
+class HelloWorldServer < SOAP::RPC::HTTPServer
+private
+
+ def on_init
+ @default_namespace = 'urn:sslhelloworld'
+ add_method(self, 'hello_world', 'from')
+ end
+
+ def hello_world(from)
+ "Hello World, from #{ from }"
+ end
+end
+
+
+if $0 == __FILE__
+ DIR = File.dirname(File.expand_path(__FILE__))
+
+ def cert(filename)
+ OpenSSL::X509::Certificate.new(File.open(File.join(DIR, filename)) { |f|
+ f.read
+ })
+ end
+
+ def key(filename)
+ OpenSSL::PKey::RSA.new(File.open(File.join(DIR, filename)) { |f|
+ f.read
+ })
+ end
+
+ $server = HelloWorldServer.new(
+ :BindAddress => "0.0.0.0",
+ :Port => 17443,
+ :AccessLog => [],
+ :SSLEnable => true,
+ :SSLCertName => [['OU', 'example'], ['CN', 'localhost']] # creates dummy certificate
+ )
+ trap(:INT) do
+ $server.shutdown
+ end
+ $server.start
+end