I'm taking babysteps learning ruby. The following snippet of code
worked until last week, when our sysadmin applied some patches/updates
from Redhat.
require "soap/wsdlDriver"
wsdl = "HTTP://localhost:8181/customer"
soap = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
result = soap.list_cust({ "cust_id" => "0015000" })
@cust_name = result.list_custROOT.customer.name
Now however, I receive the following error when I try this in irb:
bash-3.1$ irb --simple-prompt
>> require "soap/wsdlDriver"
=> true
>> wsdl = "HTTP://davewalker.ivyhill-cinram.com:8181/customer"
=> "HTTP://davewalker.ivyhill-cinram.com:8181/customer"
>> soap = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
=> #<SOAP::RPC::Driver:#<SOAP::RPC::Proxy:HTTP://
davewalker.ivyhill-cinram.com:8181/customer>>
>> cust = soap.list_cust( { :cust_id => "0015000" } )
SOAP::Mapping::MappingError: cannot find type {}string
-- from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
90:in `obj2elesoap'
from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
141:in `complexobj2soap'
from /usr/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:56:in
`each_element'
from /usr/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:52:in
`each'
from /usr/lib/ruby/1.8/wsdl/xmlSchema/complexType.rb:52:in
`each_element'
from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
122:in `complexobj2soap'
from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
108:in `obj2typesoap'
from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
93:in `obj2elesoap'
from /usr/lib/ruby/1.8/soap/mapping/wsdlliteralregistry.rb:
39:in `obj2soap'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:127:in
`_obj2soap'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:47:in
`obj2soap'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:360:in
`protect_threadvars'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:43:in
`obj2soap'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:422:in
`request_doc_lit'
from (irb):5:in `collect'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:421:in `each'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:421:in `collect'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:421:in
`request_doc_lit'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:386:in
`request_doc'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:340:in
`request_body'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:123:in `call'
from /usr/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
from /usr/lib/ruby/1.8/soap/rpc/driver.rb:232:in `list_cust'
from (irb):5>>
?>
Nothing has changed on either the database backend, or the soap
server. Just the updates to the Redhat development box. What am I
missing here?
Thanks,
···
--
Dave Walker