Как мне получить вызов SOAP и ответ в Ruby?

#ruby-on-rails #ruby #xml

#ruby-on-rails #ruby #xml

Вопрос:

Я использую SOAP gem в Ruby 1.8.7 и ищу функциональность, аналогичную PHP, где после выполнения вызова я могу найти XML вызова и ответа.

Например, в собственной библиотеке SOAP PHP вы могли бы вызвать __getLastResponse() , и __getLastRequest() . Есть ли аналогичная функциональность в Ruby?

Моя цель — предоставить XML-контекст для ошибки. В PHP вы должны включить «трассировку» при создании объекта. Я вижу, что в Ruby можно настроить wiredump, но, похоже, нет реальной опции «трассировки», которая естественным образом обрабатывает вызовы и ответы и предоставляет эти приятные вспомогательные методы. Означает ли это, что мне придется выполнять wiredump в определенный файл, при ошибке анализировать этот файл и отвечать?

Ответ №1:

Я использую savon. https://github.com/rubiii/savon Вы можете получить ответ в виде хэша, чему вы должны быть очень рады. Обработка ошибок тоже проста, я предлагаю вам проверить это.

Ответ №2:

библиотека Soap предлагает опцию wiredump для вывода вызова soap / ответа в буфер (стандартный вывод или буфер FileIO / StringIO).