簡體   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