Current rivals for the βbestβ library for consuming external SOAP services look like Savon or Handsoap . There is a comparison between here
I cannot comment on handsoap since I have not used it, I am pleased with Savon, which works well for me.
In terms of application structure, I would create a folder under lib for the interface with the name after the external object, and then save the files there using the namespacing rails functions.
So, an example, I have an external interface for a Sentinel system. So I have RAILS_ROOT / lib / sentinel, and then all classes inside this folder are declared in the Sentinel module.
source share