Текущими претендентами на «лучшую» библиотеку для использования внешних SOAP-сервисов являются либо Savon или Handsoap Существует сравнение между двумя здесь
Я не могу комментировать ручное мыло, поскольку я им не пользовался, я доволен Савоном, который хорошо работает для меня.
С точки зрения структуры приложения, я бы создал папку в lib для интерфейса, названного в честь внешней сущности, а затем сохранил файлы там, используя возможности пространства имен rails.
Так, например, у меня есть внешний интерфейс к системе под названием Sentinel. Итак, у меня есть RAILS_ROOT / lib / sentinel, а затем все классы в этой папке объявляются в модуле Sentinel.