Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1922

Show
Ignore:
Timestamp:
08/26/07 00:30:15 (11 months ago)
Author:
nahi
Message:
  • added SOAP::WSDLDriverFactory#dump_method_signatures. it returns a formatted text which describes method signatures. closes #141.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/soap/wsdlDriver.rb

    r1893 r1922  
    1515require 'soap/rpc/driver' 
    1616require 'wsdl/soap/methodDefCreator' 
     17require 'wsdl/soap/classDefCreatorSupport' 
    1718 
    1819 
     
    2122 
    2223class WSDLDriverFactory 
     24  include WSDL::SOAP::ClassDefCreatorSupport 
     25 
    2326  class FactoryError < StandardError; end 
    2427 
     
    3134   
    3235  def inspect 
    33     "#<#{self.class}:#{@wsdl.name}>" 
     36    sprintf("#<%s:%s:0x%x\n\n%s>", self.class.name, @wsdl.name, __id__, dump_method_signatures) 
    3437  end 
    3538 
     
    5154  # Backward compatibility. 
    5255  alias createDriver create_driver 
     56 
     57  def dump_method_signatures 
     58    sig = nil 
     59    element_definitions = @wsdl.collect_elements 
     60    @wsdl.services.each do |service| 
     61      service.ports.each do |port| 
     62        sig = port.porttype.operations.collect { |operation| 
     63          dump_method_signature(operation, element_definitions).gsub(/^#/, ' ') 
     64        }.join("\n") 
     65      end 
     66    end 
     67    sig 
     68  end 
    5369 
    5470private 
  • trunk/lib/wsdl/soap/cgiStubCreator.rb

    r1895 r1922  
    4141      raise RuntimeError.new("porttype not found for #{port}") 
    4242    end 
    43     dump_porttype(port.porttype.name
     43    dump_porttype(port.porttype
    4444  end 
    4545 
    4646private 
    4747 
    48   def dump_porttype(name) 
    49     class_name = create_class_name(name, @modulepath) 
     48  def dump_porttype(porttype) 
     49    class_name = create_class_name(porttype.name, @modulepath) 
    5050    defined_const = {} 
    51     result = MethodDefCreator.new(@definitions, @modulepath, defined_const).dump(name) 
     51    result = MethodDefCreator.new(@definitions, @modulepath, defined_const).dump(porttype.name) 
    5252    methoddef = result[:methoddef] 
    5353    wsdl_name = @definitions.name ? @definitions.name.name : 'default' 
  • trunk/lib/wsdl/soap/clientSkeltonCreator.rb

    r1827 r1922  
    3737    end 
    3838    services.ports.each do |port| 
    39       result << dump_porttype(port.porttype.name
     39      result << dump_porttype(port.porttype
    4040      result << "\n" 
    4141    end 
     
    5050private 
    5151 
    52   def dump_porttype(name) 
    53     drv_name = create_class_name(name) 
     52  def dump_porttype(porttype) 
     53    drv_name = create_class_name(porttype.name) 
    5454 
    5555    result = "" 
     
    6363__EOD__ 
    6464    element_definitions = @definitions.collect_elements 
    65     @definitions.porttype(name).operations.each do |operation| 
     65    porttype.operations.each do |operation| 
    6666      result << dump_method_signature(operation, element_definitions) 
    6767      result << dump_input_init(operation.input) << "\n" 
  • trunk/lib/wsdl/soap/methodDefCreator.rb

    r1895 r1922  
    3333  end 
    3434 
    35   def dump(porttype) 
     35  def dump(name) 
    3636    @types.clear 
    3737    @encoded = false 
    3838    @literal = false 
    3939    methoddef = "" 
    40     port = @definitions.porttype(porttype) 
    41     binding = port.find_binding 
     40    porttype = @definitions.porttype(name) 
     41    binding = porttype.find_binding 
    4242    if binding 
    4343      binding.operations.each do |op_bind| 
  • trunk/lib/wsdl/soap/standaloneServerStubCreator.rb

    r1895 r1922  
    4242      raise RuntimeError.new("porttype not found for #{port}") 
    4343    end 
    44     dump_porttype(port.porttype.name
     44    dump_porttype(port.porttype
    4545  end 
    4646 
    4747private 
    4848 
    49   def dump_porttype(name) 
    50     class_name = create_class_name(name, @modulepath) 
     49  def dump_porttype(porttype) 
     50    class_name = create_class_name(porttype.name, @modulepath) 
    5151    defined_const = {} 
    52     result = MethodDefCreator.new(@definitions, @modulepath, defined_const).dump(name) 
     52    result = MethodDefCreator.new(@definitions, @modulepath, defined_const).dump(porttype.name) 
    5353    methoddef = result[:methoddef] 
    5454