2010-05-13 54 views
1

解析wsdl文件我有一个关于Ruby和WSDL肥皂问题。Get方法PARAMS键入一个导轨/ Ruby应用程序

我无法找到一个办法让每个方法的PARAMS和它们的类型。例如,如果我发现soap有一个名为“get_user_information”的方法(使用wsdlDriver),有没有办法知道这个方法是否需要一些参数,以及它需要什么类型的参数(int,string,复杂类型,ecc ..)?

我希望能够从每个方法的远程WSDL建立HTML表单...

对不起,我的英语太可怕了:d

回答

1

是否使用soapr4?

SOAP4R自带了一个命令行客户端建立代理为通过SOAP访问Web服务。这比使用必须在每次运行时动态构建代理的wsdlDriver更可取。

要建立一个“永久”代理,那么你需要运行下面的命令

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

运行此命令时,那么你应该带着一帮红宝石的最终文件,其中一个(可能default.rb)将依次调用每个方法并记录必要的输入和输出。

或者你会发现Wsdl Analyser有用。这将允许你输入URL的WSDL,它会再分析,并列出所有的操作和(有时)的PARAMATERS需要

0

谢谢你的非常快速的响应!

我会尽力解释自己好一点:d

我试过SOAP4R,我能得到肥皂的方法,像这样的东西:

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

我”什么想知道的是: 如果,例如,我的肥皂有一个名为“get_some_params_and_sum_them”的方法,有没有办法知道有多少PARAMS需要,他们应该是哪种类型?

喜欢的东西

puts client.method("get_some_params_and_sum_them").params 

WSDL分析这样做,我想知道这是否可能也是一个Ruby脚本,而不吨的代码行:d