Как выполнить savon client.call использовать запрос GET с полезной нагрузкой вместо POST? - PullRequest
1 голос
/ 10 апреля 2020

Я использую savonrb (2.1.2) для выполнения моих SOAP запросов к веб-службе.

Проблема, с которой я столкнулся, заключается в том, что, похоже, у меня нет шансов выполнить HTTP GET запрос вместо POST запроса с использованием этой библиотеки.

Обратите внимание, что хотя я могу согласиться с тем фактом, что SOAP через HTTP выполняется методом GET, а не через POST, может выглядеть нетрадиционно или даже ошибкой, , но

Я не могу изменить серверную сторону, и, как клиент, я ДОЛЖЕН принять это поведение как факт.

Как мне преодолеть эту проблему?

В соответствии с тем, что я видел до сих пор в коде savon, похоже, что это неизменное проектное решение:

  # operation.rb
  module Savon
    class Operation
      ...
      def call_with_logging(request)
        @logger.log(request) { HTTPI.post(request, @globals[:adapter]) }
      end
      ...
    end
  end

Мне просто интересно, должен ли быть механизм с помощью адаптера savon, чтобы избежать такого (плохого) решения.

...