Savon on Rails 3.1 - невозможно вызвать метод с использованием WSDL - PullRequest
0 голосов
/ 29 октября 2011

Я хочу использовать веб-сервис с методом «verifyTransaction», который получает две строки в качестве входных данных и возвращает double в качестве выходных данных. Я использовал код ниже для этого:

client = Savon::Client.new do |wsdl|
    wsdl.document = "https://www.myserver.com/ReferencePayment?WSDL"
end

response = client.request :wsdl, "verifyTransaction" do
  soap.body ={"RefNum" => "121312", "MerchantID" => "02233763"}
end

но я получил эту ошибку:

Savon::SOAP::Fault ((env:Client) caught exception while handling request: unexpected encoding style: expected=http://schemas.xmlsoap.org/soap/encoding/, actual=)

Я читал все ресурсы в Интернете, но не смог найти никаких решений. Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 02 ноября 2011

Я решил проблему с помощью SoapUI и Savon.

Я открыл WSDL в SoapUI, сгенерировал примеры запросов и скопировал / вставил его в Savon следующим образом:

client = Savon::Client.new do |wsdl|
    wsdl.document = "https://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL"
end

response = client.request "verifyTransaction" do
  soap.xml = 'XML will be here'
end

Работало нормально!:)

...