diff options
-rw-r--r-- | actionwebservice/CHANGELOG | 2 | ||||
-rw-r--r-- | actionwebservice/TODO | 8 | ||||
-rw-r--r-- | actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb | 4 |
3 files changed, 13 insertions, 1 deletions
diff --git a/actionwebservice/CHANGELOG b/actionwebservice/CHANGELOG index 77fd903407..f823c293ba 100644 --- a/actionwebservice/CHANGELOG +++ b/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. diff --git a/actionwebservice/TODO b/actionwebservice/TODO index a5ca99e89f..55c484b775 100644 --- a/actionwebservice/TODO +++ b/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 diff --git a/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb b/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb index 3032639510..72f006b654 100644 --- a/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb +++ b/actionwebservice/lib/action_web_service/vendor/ws/marshaling/soap_marshaling.rb @@ -220,7 +220,9 @@ module WS 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 |