繁体   English   中英

获取方法参数类型在Rails / ruby​​应用程序中解析wsdl文件

[英]Get methods params type parsing wsdl file in a rails/ruby application

我对红宝石和wsdl肥皂有疑问。

我找不到一种方法来获取每个方法的参数及其类型。

例如,如果我发现肥皂具有一个名为“ get_user_information”的方法(使用wsdlDriver),则有一种方法可以知道此方法是否需要一些参数以及它需要哪种类型的参数(int,字符串,复杂类型,ecc ..)?

我希望能够为每种方法从远程wsdl构建html表单...

对不起,我的英语太糟糕了:D

您在使用soapr4吗?

Soap4r带有一个命令行客户端,用于构建用于通过SOAP访问Web服务的代理。 这比使用wsdlDriver更可取,后者必须在每次运行时动态构建代理。

要构建“永久”代理,则需要运行以下命令

wsdl2ruby.rb --type client --wsdl http://some/path/to/the/wsdl

运行此命令时,您应该得到一堆ruby文件,其中一个文件(可能是default.rb)将依次调用每个方法并记录必要的输入和输出。

另外,您可能会发现Wsdl分析仪很有用。 这将允许您输入WSDL的URL,然后它将分析并列出所有操作以及(有时)所需的参数

感谢您的快速回复!

我会尽力向自己解释一点:D

我已经尝试过soap4r,并且可以通过以下方式获得soap的方法:

require "soap/wsdlDriver"
client = SOAP::WSDLDriverFactory.new(my-wsdl-url).create_rpc_driver
puts client.singleton_methods

我想知道的是:例如,如果我的香皂有一个名为“ get_some_params_and_sum_them”的方法,有没有办法知道它需要多少个参数以及它们应该是哪种类型?

就像是

puts client.method("get_some_params_and_sum_them").params

Wsdl Analyzer可以做到这一点,我想知道在没有大量代码行的ruby脚本中是否也可以做到这一点:D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM