Class: SOAP::RPC::HTTPServer
- Defined in:
- lib/soap/rpc/httpserver.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#default_namespace ⇒ Object
Returns the value of attribute default_namespace.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Instance Method Summary collapse
- #__attr_proxy(symbol, assignable = false) ⇒ Object
- #add_document_method(obj, soapaction, name, req_qnames, res_qnames) ⇒ Object
- #add_document_operation(receiver, soapaction, name, param_def, opt = {}) ⇒ Object
- #add_document_request_operation(factory, soapaction, name, param_def, opt = {}) ⇒ Object
- #add_headerhandler(obj) ⇒ Object (also: #add_rpc_headerhandler)
- #add_request_headerhandler(factory) ⇒ Object
-
#add_rpc_method(obj, name, *param) ⇒ Object
(also: #add_method)
method entry interface.
- #add_rpc_method_as(obj, name, name_as, *param) ⇒ Object (also: #add_method_as)
- #add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {}) ⇒ Object
- #add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {}) ⇒ Object
-
#add_rpc_request_servant(factory, namespace = @default_namespace) ⇒ Object
servant entry interface.
- #add_rpc_servant(obj, namespace = @default_namespace) ⇒ Object
- #authenticator ⇒ Object
- #authenticator=(authenticator) ⇒ Object
- #filterchain ⇒ Object
-
#initialize(config) ⇒ HTTPServer
constructor
A new instance of HTTPServer.
- #on_init ⇒ Object
- #shutdown ⇒ Object
- #status ⇒ Object
Constructor Details
#initialize(config) ⇒ HTTPServer
Returns a new instance of HTTPServer.
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/soap/rpc/httpserver.rb', line 61 def initialize(config) actor = config[:SOAPHTTPServerApplicationName] || self.class.name super(actor) @default_namespace = config[:SOAPDefaultNamespace] @webrick_config = config.dup self.level = Logger::Severity::ERROR # keep silent by default @webrick_config[:Logger] ||= @log @log = @webrick_config[:Logger] # sync logger of App and HTTPServer @router = ::SOAP::RPC::Router.new(actor) @soaplet = ::SOAP::RPC::SOAPlet.new(@router) on_init @server = WEBrick::HTTPServer.new(@webrick_config) @server.mount('/soaprouter', @soaplet) if wsdldir = config[:WSDLDocumentDirectory] @server.mount('/wsdl', WEBrick::HTTPServlet::FileHandler, wsdldir) end # for backward compatibility @server.mount('/', @soaplet) end |
Instance Attribute Details
#default_namespace ⇒ Object
Returns the value of attribute default_namespace.
21 22 23 |
# File 'lib/soap/rpc/httpserver.rb', line 21 def default_namespace @default_namespace end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
20 21 22 |
# File 'lib/soap/rpc/httpserver.rb', line 20 def server @server end |
Instance Method Details
#__attr_proxy(symbol, assignable = false) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/soap/rpc/httpserver.rb', line 25 def __attr_proxy(symbol, assignable = false) name = symbol.to_s define_method(name) { @router.__send__(name) } if assignable aname = name + '=' define_method(aname) { |rhs| @router.__send__(aname, rhs) } end end |
#add_document_method(obj, soapaction, name, req_qnames, res_qnames) ⇒ Object
139 140 141 142 |
# File 'lib/soap/rpc/httpserver.rb', line 139 def add_document_method(obj, soapaction, name, req_qnames, res_qnames) param_def = SOAPMethod.create_doc_param_def(req_qnames, res_qnames) @router.add_document_operation(obj, soapaction, name, param_def) end |
#add_document_operation(receiver, soapaction, name, param_def, opt = {}) ⇒ Object
152 153 154 |
# File 'lib/soap/rpc/httpserver.rb', line 152 def add_document_operation(receiver, soapaction, name, param_def, opt = {}) @router.add_document_operation(receiver, soapaction, name, param_def, opt) end |
#add_document_request_operation(factory, soapaction, name, param_def, opt = {}) ⇒ Object
156 157 158 |
# File 'lib/soap/rpc/httpserver.rb', line 156 def add_document_request_operation(factory, soapaction, name, param_def, opt = {}) @router.add_document_request_operation(factory, soapaction, name, param_def, opt) end |
#add_headerhandler(obj) ⇒ Object Also known as: add_rpc_headerhandler
115 116 117 |
# File 'lib/soap/rpc/httpserver.rb', line 115 def add_headerhandler(obj) @router.add_headerhandler(obj) end |
#add_request_headerhandler(factory) ⇒ Object
111 112 113 |
# File 'lib/soap/rpc/httpserver.rb', line 111 def add_request_headerhandler(factory) @router.add_request_headerhandler(factory) end |
#add_rpc_method(obj, name, *param) ⇒ Object Also known as: add_method
method entry interface
126 127 128 |
# File 'lib/soap/rpc/httpserver.rb', line 126 def add_rpc_method(obj, name, *param) add_rpc_method_as(obj, name, name, *param) end |
#add_rpc_method_as(obj, name, name_as, *param) ⇒ Object Also known as: add_method_as
131 132 133 134 135 136 |
# File 'lib/soap/rpc/httpserver.rb', line 131 def add_rpc_method_as(obj, name, name_as, *param) qname = XSD::QName.new(@default_namespace, name_as) soapaction = nil param_def = SOAPMethod.derive_rpc_param_def(obj, name, *param) @router.add_rpc_operation(obj, qname, soapaction, name, param_def) end |
#add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {}) ⇒ Object
144 145 146 |
# File 'lib/soap/rpc/httpserver.rb', line 144 def add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {}) @router.add_rpc_operation(receiver, qname, soapaction, name, param_def, opt) end |
#add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {}) ⇒ Object
148 149 150 |
# File 'lib/soap/rpc/httpserver.rb', line 148 def add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {}) @router.add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt) end |
#add_rpc_request_servant(factory, namespace = @default_namespace) ⇒ Object
servant entry interface
103 104 105 |
# File 'lib/soap/rpc/httpserver.rb', line 103 def add_rpc_request_servant(factory, namespace = @default_namespace) @router.add_rpc_request_servant(factory, namespace) end |
#add_rpc_servant(obj, namespace = @default_namespace) ⇒ Object
107 108 109 |
# File 'lib/soap/rpc/httpserver.rb', line 107 def add_rpc_servant(obj, namespace = @default_namespace) @router.add_rpc_servant(obj, namespace) end |
#authenticator ⇒ Object
93 94 95 |
# File 'lib/soap/rpc/httpserver.rb', line 93 def authenticator @soaplet.authenticator end |
#authenticator=(authenticator) ⇒ Object
97 98 99 |
# File 'lib/soap/rpc/httpserver.rb', line 97 def authenticator=(authenticator) @soaplet.authenticator = authenticator end |
#filterchain ⇒ Object
120 121 122 |
# File 'lib/soap/rpc/httpserver.rb', line 120 def filterchain @router.filterchain end |
#on_init ⇒ Object
81 82 83 |
# File 'lib/soap/rpc/httpserver.rb', line 81 def on_init # do extra initialization in a derived class if needed. end |
#shutdown ⇒ Object
89 90 91 |
# File 'lib/soap/rpc/httpserver.rb', line 89 def shutdown @server.shutdown if @server end |
#status ⇒ Object
85 86 87 |
# File 'lib/soap/rpc/httpserver.rb', line 85 def status @server.status if @server end |