找不到 SOAP 操作 RAILS + SAVON
Unable to find SOAP operation RAILS + SAVON
我正在学习 Web 服务 API,所以我在我的 rails 应用程序上使用 Savon for SOAP。我似乎不能做一个简单的操作来从提供者那里获取语言列表。我做错了什么?
这是一个 link 到 SOAP 请求 GetLanguages
下面是我在 irb 上的代码:
2.1.2 :001 > require 'savon'
=> true
2.1.2 :002 > soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
=> "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
2.1.2 :003 > client = Savon.client(wsdl: soap_wsdl)
2.1.2 :004 > response = client.call(:get_languages)
Savon::UnknownOperationError: Unable to find SOAP operation: :get_languages
Operations provided by your service: []
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/operation.rb:23:in `ensure_exists!'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/operation.rb:15:in `create'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/client.rb:32:in `operation'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/client.rb:36:in `call'
from (irb):99
from /home/sifiso/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
Savon 版本为 2.11.1,Rails 版本为 4.2.6
我终于想通了。以下为:
soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
应该是:
soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx?wsdl"
我正在学习 Web 服务 API,所以我在我的 rails 应用程序上使用 Savon for SOAP。我似乎不能做一个简单的操作来从提供者那里获取语言列表。我做错了什么?
这是一个 link 到 SOAP 请求 GetLanguages
下面是我在 irb 上的代码:
2.1.2 :001 > require 'savon'
=> true
2.1.2 :002 > soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
=> "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
2.1.2 :003 > client = Savon.client(wsdl: soap_wsdl)
2.1.2 :004 > response = client.call(:get_languages)
Savon::UnknownOperationError: Unable to find SOAP operation: :get_languages
Operations provided by your service: []
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/operation.rb:23:in `ensure_exists!'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/operation.rb:15:in `create'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/client.rb:32:in `operation'
from /home/sifiso/.rvm/gems/ruby-2.1.2/gems/savon-2.11.1/lib/savon/client.rb:36:in `call'
from (irb):99
from /home/sifiso/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
Savon 版本为 2.11.1,Rails 版本为 4.2.6
我终于想通了。以下为:
soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx"
应该是:
soap_wsdl = "https://www.betamobi.tym2sell.co.bw/service/portalservice.asmx?wsdl"