Flowdock
method

dump_porttype

Importance_0
v1_8_7_330 - Show latest stable - 0 notes - Class: WSDL::SOAP::StandaloneServerStubCreator
dump_porttype(name) private

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/wsdl/soap/standaloneServerStubCreator.rb, line 37
  def dump_porttype(name)
    class_name = create_class_name(name)
    methoddef, types = MethodDefCreator.new(@definitions).dump(name)
    mr_creator = MappingRegistryCreator.new(@definitions)

    c1 = XSD::CodeGen::ClassDef.new(class_name)
    c1.def_require("soap/rpc/standaloneServer")
    c1.def_require("soap/mapping/registry")
    c1.def_const("MappingRegistry", "::SOAP::Mapping::Registry.new")
    c1.def_code(mr_creator.dump(types))
    c1.def_code "Methods = [\n\#{methoddef.gsub(/^/, \"  \")}\n]\n"
    c2 = XSD::CodeGen::ClassDef.new(class_name + "App",
      "::SOAP::RPC::StandaloneServer")
    c2.def_method("initialize", "*arg") do
      "super(*arg)\nservant = \#{class_name}.new\n\#{class_name}::Methods.each do |definitions|\nopt = definitions.last\nif opt[:request_style] == :document\n@router.add_document_operation(servant, *definitions)\nelse\n@router.add_rpc_operation(servant, *definitions)\nend\nend\nself.mapping_registry = \#{class_name}::MappingRegistry\n"
    end
    c1.dump + "\n" + c2.dump + format("\nif $0 == __FILE__\n# Change listen port.\nserver = \#{class_name}App.new('app', nil, '0.0.0.0', 10080)\ntrap(:INT) do\nserver.shutdown\nend\nserver.start\nend\n")
  end
Register or log in to add new notes.