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

Changeset 1538

Show
Ignore:
Timestamp:
05/07/05 14:51:57 (4 years ago)
Author:
nahi
Message:

complexType definition can be empty. add :TYPE_EMPTY for that schema definition. closes #102.

Files:

Legend:

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

    r1520 r1538  
    418418        o.elename = elename 
    419419      end 
     420      o.definedtype = typedef 
     421      return o 
     422    when :TYPE_EMPTY 
     423      o = SOAPNil.decode(elename) 
    420424      o.definedtype = typedef 
    421425      return o 
  • trunk/lib/soap/mapping/wsdlencodedregistry.rb

    r1520 r1538  
    131131    when :TYPE_SIMPLE 
    132132      simple2soap(obj, type.simplecontent) 
     133    when :TYPE_EMPTY 
     134      raise MappingError.new("should be empty") unless obj.nil? 
     135      SOAPNil.new 
    133136    else 
    134137      raise MappingError.new("unknown compound type: #{type.compoundtype}") 
  • trunk/lib/wsdl/soap/classDefCreator.rb

    r1522 r1538  
    7676    @complextypes.collect { |type| 
    7777      case type.compoundtype 
    78       when :TYPE_STRUCT 
     78      when :TYPE_STRUCT, :TYPE_EMPTY 
    7979        dump_classdef(type.name, type) 
    8080      when :TYPE_ARRAY 
  • trunk/lib/wsdl/soap/complexType.rb

    r1520 r1538  
    4242    elsif !attributes.empty? 
    4343      :TYPE_STRUCT 
    44     else 
    45       raise NotImplementedError.new("Unknown kind of complexType.") 
     44    else # empty complexType definition (seen in partner.wsdl of salesforce) 
     45      :TYPE_EMPTY 
    4646    end 
    4747  end 
  • trunk/lib/wsdl/soap/mappingRegistryCreator.rb

    r1520 r1538  
    5252      when :TYPE_ARRAY 
    5353        dump_array_typemap(definedtype) 
    54       when :TYPE_MAP 
     54      when :TYPE_MAP, :TYPE_EMPTY 
    5555        nil 
    5656      else 
  • trunk/lib/wsdl/soap/methodDefCreator.rb

    r1532 r1538  
    112112    elsif definedtype = @complextypes[part.type] 
    113113      case definedtype.compoundtype 
    114       when :TYPE_STRUCT 
     114      when :TYPE_STRUCT, :TYPE_EMPTY    # ToDo: empty should be treated as void. 
    115115        type = create_class_name(part.type) 
    116116        [type, part.type.namespace, part.type.name]