RunTimeError from SOAP::WSDLDriverFactory(...).create_rpc_driver

Hi,

I'm trying to build a SOAP client using a wsdl and I get an error message saying that a part cannot be resolved.

The message is the same as the one I found in the archive (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/161758) but the cause is different.

Any help would be greatly appreciated.

Regards

Rene

Code is:

···

======
require "soap/wsdlDriver"

WSDL_URL = "xxx.wsdl" #this is on the other side of a firewall
factory = SOAP::WSDLDriverFactory.new(WSDL_URL)
driver = factory.create_rpc_driver

wsdl looks like

<wsdl:definitions targetNamespace="http://xxxx">
    <!--WSDL created by Apache Axis version: 1.2.1 Built on Jun 14, 2005 (09:15:57 EDT) -->
<wsdl:message name="restartRequest"></wsdl:message>
<wsdl:message name="getJgiSessionResponse">
    <wsdl:part name="getJgiSessionReturn" type="xsd:anyType"/>
</wsdl:message>
etc...

error is

C:/ruby_1.8.4/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:144:in `rpcdefinedtype': part: getJgiSessionReturn cannot be resolved (RuntimeError)
    from C:/ruby_1.8.4/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:56:in `collect_rpcparameter'
    from C:/ruby_1.8.4/lib/ruby/1.8/soap/wsdlDriver.rb:130:in `create_param_def'
    from C:/ruby_1.8.4/lib/ruby/1.8/soap/wsdlDriver.rb:101:in `add_operation'
    from C:/ruby_1.8.4/lib/ruby/1.8/xsd/namedelements.rb:58:in `each'
    from C:/ruby_1.8.4/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'
    from C:/ruby_1.8.4/lib/ruby/1.8/soap/wsdlDriver.rb:96:in `add_operation'
    from C:/ruby_1.8.4/lib/ruby/1.8/soap/wsdlDriver.rb:40:in `create_rpc_driver'
    from C:/dev/SoftwareSupport/ruby/misc/gpts.rb:6

Hi,

Rene Perrier wrote:

I'm trying to build a SOAP client using a wsdl and I get an error
message saying that a part cannot be resolved.

Can you send me the WSDL? I'll try to fix soap4r to work with the WSDL.

Regards,
// NaHi