From: Mark Thomas Date: 2008-02-06T00:30:18+09:00 Subject: Re: SOAP, enumeration + token, and error in base2soap On Feb 5, 12:10 am, Marcin Gryszkalis wrote: > Hi > I have soap server that has WSDL with request containing > > > > where ModeT is defined as > >             >                 >                     >                     >                 >             > > I created client using > SOAP::WSDLDriverFactory.new(*).create_rpc_driver > and it fails with > > /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:151:in `base2soap': undefined method `<=' for nil:NilClass (NoMethodError) >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:127:in `simpleobj2soap' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:118:in `obj2typesoap' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:44:in `obj2soap' >         from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:127:in `_obj2soap' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:210:in `elements2soap' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:206:in `each' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:206:in `elements2soap' >         from /usr/lib/ruby/1.8/soap/mapping/wsdlencodedregistry.rb:167:in `struct2soap' >          ... 18 levels... > > changing xsd:token to xsd:string in client fixes problem (but It won't be > easy to force such change in oryginal WSDL). > > Is it just a bug in soap4r, is there anything I could fix on my side? What version of soap4r are you using? The one that comes with Ruby is buggy. Try grabbing the latest (1.5.8) if you haven't done so already.