summaryrefslogtreecommitdiff
path: root/lib/soap/mapping/registry.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap/mapping/registry.rb')
-rw-r--r--lib/soap/mapping/registry.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/soap/mapping/registry.rb b/lib/soap/mapping/registry.rb
index e733f5c95f..823e80666d 100644
--- a/lib/soap/mapping/registry.rb
+++ b/lib/soap/mapping/registry.rb
@@ -49,8 +49,7 @@ class SOAPException; include Marshallable
e.set_backtrace(@cause.backtrace)
return e
end
- klass = Mapping.class_from_name(
- Mapping.elename2name(@excn_type_name.to_s))
+ 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
@@ -89,6 +88,10 @@ class Object; include Marshallable
@__xmlele.each do |k, v|
return v if k == qname
end
+ # fallback
+ @__xmlele.each do |k, v|
+ return v if k.name == qname.name
+ end
nil
end