Hi
I have soap server that has WSDL with request containing

<xsd:element name="mode" type="ons:ModeT" />

where ModeT is defined as

            <xsd:simpleType name="ModeT">
                <xsd:restriction base="xsd:token">
                    <xsd:enumeration value="abc"/>
                    <xsd:enumeration value="xyz"/>
                </xsd:restriction>
            </xsd:simpleType>

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?

greetings
-- 
Marcin Gryszkalis, PGP 0x9F183FA3
jabber jid:mg / fork.pl, gg:2532994
http://the.fork.pl