我开始使用Ruby和Soap并提出了一些问题:
如何为我创建的服务生成WSDL文件? 它是否与.NET客户端兼容?
begin
class MyServer < SOAP::RPC::StandaloneServer
# Handler methods
def add(a, b)
return a + b
end
def div(a, b)
return a / b
end
# Expose our services
def initialize(*args)
add_method(self, 'add', 'a', 'b')
add_method(self, 'div', '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
答案 0 :(得分:4)
ActionWebService(以前在Rails核心中,现在是一个gem)具有生成WSDL文件的工具。即使您没有在Rails中运行服务,也可以使用这些工具。
http://www.datanoise.com/articles/2008/7/2/actionwebservice-is-back
至于它是否适用于.NET客户端,答案可能是。许多.NET客户端似乎都期望微软的“扩展”SOAP信息,默认情况下.NET webservices提供这些信息。如果客户端也能够使用没有额外内容的服务,那么肯定。
以上链接似乎不再起作用。但是,有一些ActionWebService的分支已经在github上弹出。你可以看到一个非常好的列表here。以下是一些关键版本的链接: