4

我开始使用 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
4

1 回答 1

4

ActionWebService(以前在 Rails 核心中,现在是 gem)具有生成 WSDL 文件的工具。即使您没有在 Rails 中运行服务,您也可以使用这些工具。

http://www.datanoise.com/articles/2008/7/2/actionwebservice-is-back

至于它是否适用于 .NET 客户端,答案是可能的。许多 .NET 客户端似乎期望 Microsoft 的“扩展”SOAP 信息,这是 .NET Web 服务默认提供的。如果客户端也能够在没有额外内容的情况下使用服务,那么当然可以。

更新#1

上面的链接似乎不再起作用。然而,在 github 上出现了一些 ActionWebService 的分支。你可以在这里看到一个很好的列表。以下是一些关键版本的链接:

于 2009-03-01T22:34:54.903 回答