Class | SOAP::Mapping::SOAPException
In: | soap/mapping/registry.rb
Parent: | Object

Inner class to pass an exception.

### Methods

new to_e

### Included Modules

Marshallable

### Attributes

cause | [R] |
excn_type_name | [R] |

### Public Class methods

new(e)

[Source]

    # File soap/mapping/registry.rb, line 38
      def initialize(e)
        @excn_type_name = Mapping.name2elename(e.class.to_s)
        @cause = e
      end

### Public Instance methods

to_e()

[Source]

    # File soap/mapping/registry.rb, line 43
      def to_e
        if @cause.is_a?(::Exception)
          @cause.extend(::SOAP::Mapping::MappedException)
          return @cause
        elsif @cause.respond_to?(:message) and @cause.respond_to?(:backtrace)
          e = RuntimeError.new(@cause.message)
          e.set_backtrace(@cause.backtrace)
          return e
        end
        klass = Mapping.class_from_name(Mapping.elename2name(@excn_type_name.to_s))
        if klass.nil? or not klass <= ::Exception
          return RuntimeError.new(@cause.inspect)
        end
        obj = klass.new(@cause.message)
        obj.extend(::SOAP::Mapping::MappedException)
        obj
      end

[Validate]