Logger::Application
# File soap/rpc/httpserver.rb, line 23
def initialize(config)
super(config[:SOAPHTTPServerApplicationName] || self.class.name)
@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(self.class.name)
@soaplet = ::SOAP::RPC::SOAPlet.new(@router)
on_init
@server = WEBrick::HTTPServer.new(@webrick_config)
@server.mount('/', @soaplet)
end
# File soap/rpc/httpserver.rb, line 99
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
# File soap/rpc/httpserver.rb, line 112
def add_document_operation(receiver, soapaction, name, param_def, opt = {})
@router.add_document_operation(receiver, soapaction, name, param_def, opt)
end
# File soap/rpc/httpserver.rb, line 116
def add_document_request_operation(factory, soapaction, name, param_def, opt = {})
@router.add_document_request_operation(factory, soapaction, name, param_def, opt)
end
# File soap/rpc/httpserver.rb, line 79
def add_headerhandler(obj)
@router.add_headerhandler(obj)
end
# File soap/rpc/httpserver.rb, line 75
def add_request_headerhandler(factory)
@router.add_request_headerhandler(factory)
end
method entry interface
# File soap/rpc/httpserver.rb, line 86
def add_rpc_method(obj, name, *param)
add_rpc_method_as(obj, name, name, *param)
end
# File soap/rpc/httpserver.rb, line 91
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
# File soap/rpc/httpserver.rb, line 104
def add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
@router.add_rpc_operation(receiver, qname, soapaction, name, param_def, opt)
end
# File soap/rpc/httpserver.rb, line 108
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
servant entry interface
# File soap/rpc/httpserver.rb, line 67
def add_rpc_request_servant(factory, namespace = @default_namespace)
@router.add_rpc_request_servant(factory, namespace)
end
# File soap/rpc/httpserver.rb, line 71
def add_rpc_servant(obj, namespace = @default_namespace)
@router.add_rpc_servant(obj, namespace)
end
# File soap/rpc/httpserver.rb, line 57
def generate_explicit_type
@router.generate_explicit_type
end
# File soap/rpc/httpserver.rb, line 61
def generate_explicit_type=(generate_explicit_type)
@router.generate_explicit_type = generate_explicit_type
end
# File soap/rpc/httpserver.rb, line 49
def mapping_registry
@router.mapping_registry
end
# File soap/rpc/httpserver.rb, line 53
def mapping_registry=(mapping_registry)
@router.mapping_registry = mapping_registry
end
# File soap/rpc/httpserver.rb, line 37
def on_init
# do extra initialization in a derived class if needed.
end