Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #7575: WS-I_compliant_arrays_in_WSDL.diff

File WS-I_compliant_arrays_in_WSDL.diff, 1.8 kB (added by arthur, 2 years ago)
  • actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb

    old new  
    216216                      case 
    217217                      when binding.type.array? 
    218218                        xm.xsd(:complexType, 'name' => binding.type_name) do 
    219                           xm.xsd(:complexContent) do 
    220                             xm.xsd(:restriction, 'base' => 'soapenc:Array') do 
    221                               xm.xsd(:attribute, 'ref' => 'soapenc:arrayType'
    222                                                  'wsdl:arrayType' => binding.element_binding.qualified_type_name('typens') + '[]') 
    223                             end 
     219                          xm.xsd(:sequence) do 
     220                            xm.xsd(:element, 'type' => binding.element_binding.qualified_type_name('typens'), 
     221                                             'name' => binding.type.name
     222                                             'minOccurs' => '0', 
     223                                             'maxOccurs' => 'unbounded') 
    224224                          end 
    225225                        end 
    226226                      when binding.type.structured? 
    227227                        xm.xsd(:complexType, 'name' => binding.type_name) do 
    228                           xm.xsd(:all) do 
     228                          xm.xsd(:sequence) do 
    229229                            binding.type.each_member do |name, type| 
    230230                              b = marshaler.register_type(type) 
    231231                              xm.xsd(:element, 'name' => name, 'type' => b.qualified_type_name('typens'))