# File lib/wsdl/soap/servletStubCreator.rb, line 30 30: def dump(service_name) 31: warn("- Servlet stub can have only 1 port for now. So creating stub for the first port and rests are ignored.") 32: services = @definitions.service(service_name) 33: unless services 34: raise RuntimeError.new("service not defined: #{service_name}") 35: end 36: ports = services.ports 37: if ports.empty? 38: raise RuntimeError.new("ports not found for #{service_name}") 39: end 40: port = ports[0] 41: if port.porttype.nil? 42: raise RuntimeError.new("porttype not found for #{port}") 43: end 44: dump_porttype(port.porttype) 45: end
# File lib/wsdl/soap/servletStubCreator.rb, line 49 49: def dump_porttype(porttype) 50: class_name = mapped_class_name(porttype.name, @modulepath) 51: defined_const = {} 52: result = MethodDefCreator.new(@definitions, @name_creator, @modulepath, defined_const).dump(porttype.name) 53: methoddef = result[:methoddef] 54: 55: wsdl_name = @definitions.name ? @definitions.name.name : 'default' 56: mrname = safeconstname(wsdl_name + 'MappingRegistry') 57: 58: c1 = XSD::CodeGen::ClassDef.new(class_name) 59: c1.def_require("soap/rpc/soaplet") 60: c1.def_code Methods = [#{methoddef.gsub(/^/, " ")}] 61: defined_const.each do |ns, tag| 62: c1.def_const(tag, dq(ns)) 63: end 64: c2 = XSD::CodeGen::ClassDef.new(class_name + "Servlet", 65: "::SOAP::RPC::SOAPlet") 66: c2.def_method("initialize", "router = nil") do 67: super(router) servant = #{class_name}.new #{class_name}::Methods.each do |definitions| opt = definitions.last if opt[:request_style] == :document @router.add_document_operation(servant, *definitions) else @router.add_rpc_operation(servant, *definitions) end end @router.mapping_registry = #{mrname}::EncodedRegistry @router.literal_mapping_registry = #{mrname}::LiteralRegistry 68: end 69: c1.dump + "\n" + c2.dump + format( if $0 == __FILE__ require 'webrick' server = WEBrick::HTTPServer.new( :BindAddress => "0.0.0.0", :Port => 10080, :DocumentRoot => "." ) server.mount("/", #{c2.name}.new) trap(:INT) do server.shutdown end server.start end) 70: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.