在尝试使用 Ruby 设置 web 服务设置后,我遇到了 xmlparser 的问题。正如我所看到的 - 这是常见的问题(例如Ruby soap4r wsdl2ruby.rb 错误),但它的解决方案,无论多么简单,对我来说并不成功。
我正在尝试运行从http://www.tutorialspoint.com/ruby/ruby_web_services.htm获取的代码,几乎没有更正(信号字符串没有封闭的撇号)。我首先使用安装了soap4r
$ gem install soap4r --include-dependencies
并将 xmlparser.rb:66 固定为
c.to_s.downcase == name
代码:
require "soap/rpc/standaloneserver"
begin
class MyServer < SOAP::RPC::StandaloneServer
# Expose our services
def initialize(*args)
add_method(self, 'add', 'a', 'b')
add_method(self, 'div', 'a', 'b')
end
# Handler methods
def add(a, b)
return a + b
end
def div(a, b)
return a / b
end
end
server = MyServer.new("MyServer",
'urn:ruby:calculation', 'localhost', 8080)
trap('INT'){
server.shutdown
}
server.start
rescue => err
puts err.message
end
不幸的是,这仍然不起作用。它给我一个错误:
undefined method `add_rpc_operation' for nil:NilClass
调用 add_method(self, ...) 后