diff options
Diffstat (limited to 'lib/soap/encodingstyle/soapHandler.rb')
-rw-r--r-- | lib/soap/encodingstyle/soapHandler.rb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/soap/encodingstyle/soapHandler.rb b/lib/soap/encodingstyle/soapHandler.rb index 51780f5520..1f359bef4e 100644 --- a/lib/soap/encodingstyle/soapHandler.rb +++ b/lib/soap/encodingstyle/soapHandler.rb @@ -162,8 +162,6 @@ class SOAPHandler < Handler o = SOAPReference.decode(elename, href) @refpool << o elsif @decode_typemap - # to parse multi-ref element with decode_tag_by_type. - # && (parent.node.class != SOAPBody || @is_first_top_ele) o = decode_tag_by_wsdl(ns, elename, type, parent.node, arytype, extraattr) else o = decode_tag_by_type(ns, elename, type, parent.node, arytype, extraattr) @@ -333,6 +331,7 @@ private def decode_tag_by_wsdl(ns, elename, typestr, parent, arytypestr, extraattr) o = nil + # should branch by root attribute? if parent.class == SOAPBody if @is_first_top_ele # Unqualified name is allowed here. @@ -363,11 +362,12 @@ private extraattr) end - # parent.definedtype is nil means the parent is SOAPUnknown. SOAPUnknown is - # generated by decode_tag_by_type when its type is anyType. + # parent.definedtype == nil means the parent is SOAPUnknown. SOAPUnknown + # is generated by decode_tag_by_type when its type is anyType. parenttype = parent.definedtype || @decode_typemap[parent.type] unless parenttype - raise EncodingStyleError.new("Unknown type '#{ parent.type }'.") + return decode_tag_by_type(ns, elename, typestr, parent, arytypestr, + extraattr) end definedtype_name = parenttype.child_type(elename) |