# ActiveRecord and SOAP

**URL:** <https://www.ruby-forum.com/t/activerecord-and-soap/163274>\
**Category:** Rails\
**Created:** [March 18, 2009, 9:42pm UTC](https://www.ruby-forum.com/t/activerecord-and-soap/163274 "2009-03-18T21:42:58Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![slava](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b487fb/32.png) [@slava](https://www.ruby-forum.com/u/slava)\
**Post date:** [March 18, 2009, 9:42pm UTC](https://www.ruby-forum.com/t/activerecord-and-soap/163274/1 "2009-03-18T21:42:58Z")

</div>

I need to get some of the data for my models from SOAP based services  
and some from a rails db. I am relatively new to Rails and not sure  
how to do it right.

class Product \< ActiveRecord::Base # products should be loaded  
through a soap service from a 3rd party system  
belongs\_to :product\_group # also loaded through a soap  
service  
belongs\_to :product\_location # this one is a local table  
end

Product.find(params[:id]) #should load data from both  
soap service and local db

please suggest how this should be done. thank you.

---

<div class="post-metadata">

**Author:** ![slava](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b487fb/32.png) [@slava](https://www.ruby-forum.com/u/slava)\
**Post date:** [March 18, 2009, 11:11pm UTC](https://www.ruby-forum.com/t/activerecord-and-soap/163274/2 "2009-03-18T23:11:48Z")

</div>

On Mar 18, 8:42 pm, slava [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Product.find(params[:id]) #should load data from both  
> soap service and local db

ActiveRecord can’t do this. ActiveResource sort of does this for data  
from appropriate RESTful apis, but it doesn’t do associations. You’d  
need to keep all of the data locally as far as I can tell.

Fred

---

<div class="post-metadata">

**Author:** ![slava](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b487fb/32.png) [@slava](https://www.ruby-forum.com/u/slava)\
**Post date:** [March 18, 2009, 11:15pm UTC](https://www.ruby-forum.com/t/activerecord-and-soap/163274/3 "2009-03-18T23:15:56Z")

</div>

I understand that ActiveRecord can’t do this be default. But I need  
this to work, so I will have to modify default behaviour. Please  
suggest an appropriate route. Do I overwrite  
find method? do I use something else entirely? I need this to work  
dynamically.

thanks

On Mar 18, 3:10 pm, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
