Soap4R

The following two line code creates the issue:

factory =
SOAP::WSDLDriverFactory.new(“http://aspire388:8080/ClubConcierge306/axis/LWFlowerService?wsdl”)
soap = factory.create_rpc_driver

The error message is:

part: requestParams cannot be resolved
RAILS_ROOT: E:/Pavo/csat

Application Trace | Framework Trace | Full Trace
c:/ruby/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:144:in
rpcdefinedtype' c:/ruby/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:49:in collect_rpcparameter’
c:/ruby/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in collect' c:/ruby/lib/ruby/1.8/wsdl/soap/methodDefCreator.rb:47:in collect_rpcparameter’
c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:130:in create_param_def' c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:101:in add_operation’
c:/ruby/lib/ruby/1.8/xsd/namedelements.rb:58:in each' c:/ruby/lib/ruby/1.8/xsd/namedelements.rb:57:in each’
c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:96:in add_operation' c:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:40:in create_rpc_driver’
app/controllers/webserv_controller.rb:6:in index' -e:2:in load’
-e:2

Anyone faced this issue?

I haven’t faced such a problem before. Are you able to visit that URL in
your browser and see the WSDL? If you can, then at least you know that
the
URL is good and that the problem is in your code or the soap4r library.

Regards,
Craig

I am also facing the same problem. When I visited the URL in my browser
I could see the WSDL. But when I tried in application I was getting the
same error.

When I explored the cause of the error, I could find that the problem is
with the encoding style. I am getting teh WSDL::Part type as

{http://schemas.xmlsoap.org/soap/encoding/}string

But when it compares with the existing types, there is no such one.

‘{http://schemas.xmlsoap.org/soap/encoding/}base64’ is available in the
existing types. The other types are of
‘{http://www.w3.org/2001/XMLSchema}’ types.

Please refer /ruby/lib/ruby/1.8/soap/mapping/typeMap.rb .

I am analyzing it but I have not yet found the solution. Please help if
can find it out.

Thanks in advance…

I found out the reason for that error. Bu default, the soap classes in
“/ruby/lib/ruby/1.8” folder are used but not the classes inside the
soap4r gem.

When I deleted the soap, wsdl and xsd folders inside ‘1.8’ folder, I got
the error resolved.

It’s risky to just delete the classes, since you’re altering your
install of
Ruby. There must be a way to ensure that the classes from the gem are
used
that preserves your Ruby installation.

Craig