aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/lib/action_web_service/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'actionwebservice/lib/action_web_service/protocol')
-rw-r--r--actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb14
-rw-r--r--actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb10
2 files changed, 14 insertions, 10 deletions
diff --git a/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb b/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb
index 351c9da159..1873396277 100644
--- a/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb
+++ b/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb
@@ -118,18 +118,12 @@ module ActionWebService
end
def register_static_factories
- @registry.add(ActionWebService::Base64,
- SOAP::SOAPBase64,
- SoapBase64Factory.new,
- nil)
+ @registry.add(ActionWebService::Base64, SOAP::SOAPBase64, SoapBase64Factory.new, nil)
mapping = @registry.find_mapped_soap_class(ActionWebService::Base64)
@type2binding[ActionWebService::Base64] =
- SoapBinding.new(self, SOAP::SOAPBase64::Type,
- ActionWebService::Base64, mapping)
- @registry.add(Array,
- SOAP::SOAPArray,
- SoapTypedArrayFactory.new,
- nil)
+ SoapBinding.new(self, SOAP::SOAPBase64::Type, ActionWebService::Base64, mapping)
+ @registry.add(Array, SOAP::SOAPArray, SoapTypedArrayFactory.new, nil)
+ @registry.add(::BigDecimal, SOAP::SOAPDouble, SOAP::Mapping::Registry::BasetypeFactory, {:derived_class => true})
end
end
diff --git a/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb b/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb
index a3abc6a24d..8ec36a29f1 100644
--- a/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb
+++ b/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb
@@ -5,6 +5,16 @@ module XMLRPC # :nodoc:
class FaultException # :nodoc:
alias :message :faultString
end
+
+ class Create
+ def wrong_type(value)
+ if BigDecimal === value
+ [true, value.to_f]
+ else
+ false
+ end
+ end
+ end
end
module ActionWebService # :nodoc: