M
Marcin Gryszkalis
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
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