summaryrefslogtreecommitdiff
path: root/ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb')
-rw-r--r--ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb b/ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb
new file mode 100644
index 0000000000..800e06d66f
--- /dev/null
+++ b/ruby_1_8_5/test/wsdl/datetime/DatetimeService.rb
@@ -0,0 +1,44 @@
+#!/usr/bin/env ruby
+require 'datetimeServant.rb'
+
+require 'soap/rpc/standaloneServer'
+require 'soap/mapping/registry'
+
+class DatetimePortType
+ MappingRegistry = ::SOAP::Mapping::Registry.new
+
+ Methods = [
+ ["now", "now",
+ [
+ ["in", "now", [::SOAP::SOAPDateTime]],
+ ["retval", "now", [::SOAP::SOAPDateTime]]
+ ],
+ "", "urn:jp.gr.jin.rrr.example.datetime", :rpc
+ ]
+ ]
+end
+
+class DatetimePortTypeApp < ::SOAP::RPC::StandaloneServer
+ def initialize(*arg)
+ super(*arg)
+ servant = DatetimePortType.new
+ DatetimePortType::Methods.each do |name_as, name, param_def, soapaction, namespace, style|
+ if style == :document
+ @router.add_document_operation(servant, soapaction, name, param_def)
+ else
+ qname = XSD::QName.new(namespace, name_as)
+ @router.add_rpc_operation(servant, qname, soapaction, name, param_def)
+ end
+ end
+ self.mapping_registry = DatetimePortType::MappingRegistry
+ end
+end
+
+if $0 == __FILE__
+ # Change listen port.
+ server = DatetimePortTypeApp.new('app', nil, '0.0.0.0', 10080)
+ trap(:INT) do
+ server.shutdown
+ end
+ server.start
+end