Browse files

make the marshaler use the same set of columns as the code that gener…

…ates

WSDL, avoids mismatches when there are associations in the AR model class.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@825 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 6d688aa commit 631340d5d1b6c3bc610960116226789c4f51eecc @bitserf bitserf committed Mar 2, 2005
View
2 actionwebservice/CHANGELOG
@@ -1,5 +1,7 @@
*0.6.0* (Unreleased)
+* Make the SOAP WS marshaler use #columns to decide which fields to marshal as well, avoids providing attributes brought in by associations
+
* Add <tt>ActionWebService::API::Base.allow_active_record_expects</tt> option, with a default of false. Setting this to true will allow specifying ActiveRecord::Base model classes in <tt>:expects</tt>. API writers should take care to validate the received ActiveRecord model objects when turning it on, and/or have an authentication mechanism in place to reduce the security risk.
* Improve error message reporting. Bugs in either AWS or the web service itself will send back a protocol-specific error report message if possible, otherwise, provide as much detail as possible.
View
8 actionwebservice/TODO
@@ -1,3 +1,11 @@
+= 0.7.0
+ - WS Scaffolding
+ - WS Generators
+ - WS Test Integration
+
+= 0.8.0
+ - Consumption of WSDL services
+
= Refactoring
- Don't have clean way to go from SOAP Class object to the xsd:NAME type
string -- NaHi possibly looking at remedying this situation
View
4 actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb
@@ -220,7 +220,9 @@ def obj2soap(soap_class, obj, info, map)
return nil
end
soap_obj = soap_class.new(obj.class.instance_variable_get('@qname'))
- obj.attributes.each do |key, value|
+ obj.class.columns.each do |column|
+ key = column.name.to_s
+ value = obj.send(key)
soap_obj[key] = SOAP::Mapping._obj2soap(value, map)
end
soap_obj

0 comments on commit 631340d

Please sign in to comment.