Class | SOAP::Mapping::SOAPException |
In: |
lib/soap/mapping/registry.rb
|
Parent: | Object |
cause | [R] | |
excn_type_name | [R] |
# File lib/soap/mapping/registry.rb, line 38 38: def initialize(e) 39: @excn_type_name = Mapping.name2elename(e.class.to_s) 40: @cause = e 41: end
# File lib/soap/mapping/registry.rb, line 43 43: def to_e 44: if @cause.is_a?(::Exception) 45: @cause.extend(::SOAP::Mapping::MappedException) 46: return @cause 47: elsif @cause.respond_to?(:message) and @cause.respond_to?(:backtrace) 48: e = RuntimeError.new(@cause.message) 49: e.set_backtrace(@cause.backtrace) 50: return e 51: end 52: klass = Mapping.class_from_name(Mapping.elename2name(@excn_type_name.to_s)) 53: if klass.nil? or not klass <= ::Exception 54: return RuntimeError.new(@cause.inspect) 55: end 56: obj = klass.new(@cause.message) 57: obj.extend(::SOAP::Mapping::MappedException) 58: obj 59: end