Я не понимаю людей, которые предпочитают Савон в Soap4r.Как бороться с ответами Савона?
Как я могу получить атрибуты возвращаемого объекта в ответе Savon? С soap4r он так же чист, как и призыв getter!
По-видимому, в Савоне мне нужно явно разобрать ответ и пройти response_hash. Это намного хуже, чем подход soap4r. У меня что-то не так, или Савон - это просто плохое качество soap4r?
Редактировать: этот вопрос возник из-за того, что савон неправильно поддерживал ответы multi_ref, как указано в ответе на ответ.
Проблема в том, что когда я пытался это сделать, я получил сильно вложенный хэш с очень странными значениями, похожими на «#idN». Попытка сделать что-то так же просто, как response.companyId, была бы достаточно сложной, чтобы не понять, где значение этого атрибута существует в хэше. Если я не ошибаюсь, ближайший, к которому я пришел, был чем-то вроде ответа [: meta_refs] [: companyId], что вернуло что-то вроде «# id3». –
В Soap4r response.companyId просто работает! Возможно, я дал неправильные параметры савону, и поэтому он не может обработать ответ соответствующим образом. поскольку я не знал, каким должно было быть пространство имен, я просто сделал что-то вроде Client.new {wsdl.document = "путь к wsdl"} –
Возможно, просмотрите документацию, ваш объект ответа должен быть хорошо представлен хэш, если вы используете правильные параметры в клиенте. –