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

Changeset 1638

Show
Ignore:
Timestamp:
09/28/05 23:25:11 (3 years ago)
Author:
nahi
Message:

support Array element name (other than 'item') in document/literal service. closes #150.

Files:

Legend:

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

    r1607 r1638  
    287287 
    288288  def self.set_attributes(obj, values) 
    289     if obj.is_a?(::SOAP::Mapping::Object) 
     289    case obj 
     290    when ::SOAP::Mapping::Object 
    290291      values.each do |attr_name, value| 
    291292        obj.__add_xmlele_value(attr_name, value) 
  • trunk/lib/soap/mapping/wsdlencodedregistry.rb

    r1622 r1638  
    266266      vars[name] = child 
    267267    end 
    268     Mapping.set_attributes(obj, vars) 
     268    if obj.is_a?(::Array) 
     269      vars.values.flatten.each do |item| 
     270        obj << item 
     271      end 
     272    else 
     273      Mapping.set_attributes(obj, vars) 
     274    end 
    269275  end 
    270276 
  • trunk/lib/soap/mapping/wsdlliteralregistry.rb

    r1636 r1638  
    342342      end 
    343343    end 
    344     Mapping.set_attributes(obj, vars) 
     344    if obj.is_a?(::Array) 
     345      vars.values.flatten.each do |item| 
     346        obj << item 
     347      end 
     348    else 
     349      Mapping.set_attributes(obj, vars) 
     350    end 
    345351  end 
    346352