diff options
Diffstat (limited to 'lib/soap/encodingstyle')
| -rw-r--r-- | lib/soap/encodingstyle/literalHandler.rb | 2 | ||||
| -rw-r--r-- | lib/soap/encodingstyle/soapHandler.rb | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/soap/encodingstyle/literalHandler.rb b/lib/soap/encodingstyle/literalHandler.rb index 72a10b2da..5b702785e 100644 --- a/lib/soap/encodingstyle/literalHandler.rb +++ b/lib/soap/encodingstyle/literalHandler.rb @@ -159,7 +159,7 @@ class LiteralHandler < Handler def decode_attrs(ns, attrs) extraattr = {} attrs.each do |key, value| - qname = ns.parse(key) + qname = ns.parse_local(key) extraattr[qname] = value end extraattr diff --git a/lib/soap/encodingstyle/soapHandler.rb b/lib/soap/encodingstyle/soapHandler.rb index 114060bd0..134a2ae8b 100644 --- a/lib/soap/encodingstyle/soapHandler.rb +++ b/lib/soap/encodingstyle/soapHandler.rb @@ -404,7 +404,7 @@ private def decode_defined_complextype(elename, typename, typedef, arytypestr) case typedef.compoundtype - when :TYPE_STRUCT + when :TYPE_STRUCT, :TYPE_MAP o = SOAPStruct.decode(elename, typename) o.definedtype = typedef return o @@ -421,6 +421,9 @@ private end o.definedtype = typedef return o + else + raise RuntimeError.new( + "Unknown kind of complexType: #{typedef.compoundtype}") end nil end @@ -537,6 +540,7 @@ private id = value next end + qname = ns.parse_local(key) extraattr[qname] = decode_attr_value(ns, qname, value) end |
