Class | SOAP::RPC::HTTPServer
In: | soap/rpc/httpserver.rb
Parent: | Logger::Application

### Methods

add_document_method add_document_operation add_document_request_operation add_headerhandler add_method add_method_as add_request_headerhandler add_rpc_headerhandler add_rpc_method add_rpc_method_as add_rpc_operation add_rpc_request_operation add_rpc_request_servant add_rpc_servant generate_explicit_type generate_explicit_type= mapping_registry mapping_registry= new on_init shutdown status

### Attributes

default_namespace | [RW] |
server | [R] |

### Public Class methods

new(config)

[Source]

    # 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

### Public Instance methods

add_document_method(obj, soapaction, name, req_qnames, res_qnames)

[Source]

    # 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

add_document_operation(receiver, soapaction, name, param_def, opt = {})

[Source]

    # 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

add_document_request_operation(factory, soapaction, name, param_def, opt = {})

[Source]

    # 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

add_headerhandler(obj)

[Source]

    # File soap/rpc/httpserver.rb, line 79
      def add_headerhandler(obj)
        @router.add_headerhandler(obj)
      end

add_method(obj, name, *param)

Alias for add_rpc_method

add_method_as(obj, name, name_as, *param)

Alias for add_rpc_method_as

add_request_headerhandler(factory)

[Source]

    # File soap/rpc/httpserver.rb, line 75
      def add_request_headerhandler(factory)
        @router.add_request_headerhandler(factory)
      end

add_rpc_headerhandler(obj)

Alias for add_headerhandler

add_rpc_method(obj, name, *param)

method entry interface

[Source]

    # File soap/rpc/httpserver.rb, line 86
      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)

[Source]

    # 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

add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})

[Source]

    # 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

add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})

[Source]

    # 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

add_rpc_request_servant(factory, namespace = @default_namespace)

servant entry interface

[Source]

    # File soap/rpc/httpserver.rb, line 67
      def add_rpc_request_servant(factory, namespace = @default_namespace)
        @router.add_rpc_request_servant(factory, namespace)
      end

add_rpc_servant(obj, namespace = @default_namespace)

[Source]

    # File soap/rpc/httpserver.rb, line 71
      def add_rpc_servant(obj, namespace = @default_namespace)
        @router.add_rpc_servant(obj, namespace)
      end

generate_explicit_type()

[Source]

    # File soap/rpc/httpserver.rb, line 57
      def generate_explicit_type
        @router.generate_explicit_type
      end

generate_explicit_type=(generate_explicit_type)

[Source]

    # File soap/rpc/httpserver.rb, line 61
      def generate_explicit_type=(generate_explicit_type)
        @router.generate_explicit_type = generate_explicit_type
      end

mapping_registry()

[Source]

    # File soap/rpc/httpserver.rb, line 49
      def mapping_registry
        @router.mapping_registry
      end

mapping_registry=(mapping_registry)

[Source]

    # File soap/rpc/httpserver.rb, line 53
      def mapping_registry=(mapping_registry)
        @router.mapping_registry = mapping_registry
      end

on_init()

[Source]

    # File soap/rpc/httpserver.rb, line 37
      def on_init
        # do extra initialization in a derived class if needed.
      end

shutdown()

[Source]

    # File soap/rpc/httpserver.rb, line 45
      def shutdown
        @server.shutdown if @server
      end

status()

[Source]

    # File soap/rpc/httpserver.rb, line 41
      def status
        @server.status if @server
      end

[Validate]