Wsdl2ruby.rb (SOAP4R) generator not working properly

Hi all,

I'm trying to run wsdl2ruby.rb against an WSDL and I'm getting a funky error msg (part: in0 cannot be resolved).
The WSDL works perfectly from java (wsdl2java, etc) and is created by apache axis. Throughout the wsdl it refers to input params as in0, in1, etc... so it must be referring to that.. Like this:
<wsdl:message name="getPatientsByMrnRequest">
     <wsdl:part name="in0" type="soapenc:string"/>
</wsdl:message>

Does anyone have any idea what is wrong with either the wsdl or wsdl2java? Thanks in advance!!

Exception is:
F, [2005-10-19T15:43:56.199327 #10244] FATAL -- app: Detected an exception. Stopping ... part: in0 cannot be resolved (RuntimeError)/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:144:in `rpcdefinedtype'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:49:in `collect_rpcparameter'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in `collect'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in `collect_rpcparameter'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:90:in `dump_method'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:41:in `dump'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:36:in `each'/opt/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'/opt/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'/opt/local/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:36:in `dump'/opt/local/lib/ruby/1.8/wsdl/soap/driverCreator.rb:46:in `dump_porttype'/opt/local/lib/ruby/1.8/wsdl/soap/driverCreator.rb:33:in `dump'/opt/local/lib/ruby/1.8/wsdl/soap/driverCreator.rb:32:in `each'/opt/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'/opt/local/lib/ruby/1.8/xsd/namedelements.rb:57:in `each'/opt/local/lib/ruby/1.8/wsdl/soap/driverCreator.rb:32:in `dump'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:125:in `create_driver'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:123:in `write_file'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:134:in `open'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:134:in `write_file'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:123:in `create_driver'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:55:in `create_file'/opt/local/lib/ruby/site_ruby/1.8/wsdl/soap/wsdl2ruby.rb:36:in `run'/opt/local/bin/wsdl2ruby.rb:42:in `run'/opt/local/lib/ruby/1.8/logger.rb:684:in `start'/opt/local/bin/wsdl2ruby.rb:125

Hi,

···

At Fri, 21 Oct 2005 03:39:48 +0900, Luke Galea wrote:

Hi all,

I'm trying to run wsdl2ruby.rb against an WSDL and I'm getting a
funky error msg (part: in0 cannot be resolved).
The WSDL works perfectly from java (wsdl2java, etc) and is created by
apache axis. Throughout the wsdl it refers to input params as in0,
in1, etc... so it must be referring to that.. Like this:
<wsdl:message name="getPatientsByMrnRequest">
     <wsdl:part name="in0" type="soapenc:string"/>
</wsdl:message>

I met the same trouble. Then, replacing "soapenc:string" by
"xsd:string", I solved.

Does wdsl2ruby.rb support subset of soapenc data types?

--
SAKURAI Masashi

Hi,

Thanks, Luke and Masashi, for taking the time to file about this problem.

SAKURAI Masashi wrote:

I'm trying to run wsdl2ruby.rb against an WSDL and I'm getting a
funky error msg (part: in0 cannot be resolved).
The WSDL works perfectly from java (wsdl2java, etc) and is created by
apache axis. Throughout the wsdl it refers to input params as in0,
in1, etc... so it must be referring to that.. Like this:
<wsdl:message name="getPatientsByMrnRequest">
    <wsdl:part name="in0" type="soapenc:string"/>
</wsdl:message>

I met the same trouble. Then, replacing "soapenc:string" by
"xsd:string", I solved.

Does wdsl2ruby.rb support subset of soapenc data types?

wsdl2ruby.rb could not handle soapenc types correctly. I fixed and
posted the latest snapshot tarball at http://dev.ctor.org/download/ .
Would you please try it?

soap4r does not use soapenc types actively but should accept it
(wsdl2ruby.rb wrongly ignored it.)

Regards,
// NaHi

Hi,

> Does wdsl2ruby.rb support subset of soapenc data types?

wsdl2ruby.rb could not handle soapenc types correctly. I fixed and
posted the latest snapshot tarball at http://dev.ctor.org/download/ .
Would you please try it?

I downloaded wsdl2ruby.rb and checked. The latest wsdl2ruby.rb read
my wdsl file and generated ruby scripts without any troubles.

thanks a lot.

···

--
SAKURAI Masashi