Ruby fails to parse wsdl


#1

I posted this to ruby-talk but I got no reply, so I’m posting here.
Sorry… If anyone knows a better place to post it, please let me know.
I think it’s a bug, but can’t find a bug tracker on ruby-lang.org

I’m trying to make Ruby talk to a webservice I’m working on, by having
it parse my wsdl using SOAP::WSDLDriverFactory. It’s quite a complex
wsdl which imports a complex schema. Something’s not working…
Eventually it says “RuntimeError: {}symbolisationBinding not found”

My wsdl validates in everything I’ve thrown at it (soapscope, WS-I,
others), and works with dotnet and gsoap, amongst other things.

The wsdl is at http://www.symgate.com/cml/symgate.wsdl
The schema is at http://www.symgate.com/cml/cml.xsd

I’m using ruby 1.8.4. I’ve tried with 1.8.2 - it fails, but with a
different error.

Here’s what irb has to say about it:

irb(main):001:0> require ‘soap/wsdlDriver’
=> true
irb(main):002:0> soapFactory =
SOAP::WSDLDriverFactory.new(‘http://www.symgate.com/cml/symgate.wsdl’)
ignored element: {http://www.w3.org/2001/XMLSchema}choice of
WSDL::XMLSchema::Sequence
ignored element: {http://www.w3.org/2001/XMLSchema}sequence of
WSDL::XMLSchema::Sequence
=>
#SOAP::WSDLDriverFactory:{http://www.symgate.com/symgate}SymgateEngine
irb(main):003:0> soap = soapFactory.create_rpc_driver
RuntimeError: {}symbolisationBinding not found
from /usr/lib64/ruby/1.8/wsdl/port.rb:36:in find_binding' from /usr/lib64/ruby/1.8/soap/wsdlDriver.rb:88:ininit_driver’
from /usr/lib64/ruby/1.8/soap/wsdlDriver.rb:39:in
`create_rpc_driver’
from (irb):3
irb(main):004:0> soap.inspect
=> “nil”

How can I either fix this problem, or report this as a bug?

Thanks,
Simon


#2

Simon Detheridge wrote:

I posted this to ruby-talk but I got no reply, so I’m posting here.
Sorry… If anyone knows a better place to post it, please let me know.
I think it’s a bug, but can’t find a bug tracker on ruby-lang.org

The Ruby bug tracker is on RubyForge:
http://rubyforge.org/tracker/?atid=1698&group_id=426&func=browse