summaryrefslogtreecommitdiff
path: root/lib/soap
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-30 04:33:02 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-30 04:33:02 +0000
commitd268bf305e926b5418d843098e35462cf97df662 (patch)
tree4268267cc8e52a533e4c78490ce6c2009971f972 /lib/soap
parent165d101eed53d09aa614d93557b077305a52006b (diff)
* lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying
Conditional Expressions. * lib/wsdl/soap/definitions.rb: refactoring - Move Method. * test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for encoding unspecified XML file parsing. * test/wsdl/{test_fault.rb,map,datetime}: new files. test of SOAPFault, dateTime and Apache's Map. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap')
-rw-r--r--lib/soap/encodingstyle/soapHandler.rb28
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/soap/encodingstyle/soapHandler.rb b/lib/soap/encodingstyle/soapHandler.rb
index 1f359bef4e..9aa732535e 100644
--- a/lib/soap/encodingstyle/soapHandler.rb
+++ b/lib/soap/encodingstyle/soapHandler.rb
@@ -331,30 +331,30 @@ private
def decode_tag_by_wsdl(ns, elename, typestr, parent, arytypestr, extraattr)
o = nil
- # should branch by root attribute?
if parent.class == SOAPBody
+ # root element: should branch by root attribute?
if @is_first_top_ele
# Unqualified name is allowed here.
@is_first_top_ele = false
type = @decode_typemap[elename] ||
@decode_typemap.find_name(elename.name)
- unless type
- raise EncodingStyleError.new("Unknown operation '#{ elename }'.")
+ if type
+ o = SOAPStruct.new(elename)
+ o.definedtype = type
+ return o
end
- o = SOAPStruct.new(elename)
- o.definedtype = type
- return o
- elsif !typestr
- # typeless multi-ref element.
- return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
- extraattr)
- else
- # typed multi-ref element.
+ end
+ # multi-ref element.
+ if typestr
typename = ns.parse(typestr)
typedef = @decode_typemap[typename]
- return decode_defined_compoundtype(elename, typename, typedef,
- arytypestr)
+ if typedef
+ return decode_defined_compoundtype(elename, typename, typedef,
+ arytypestr)
+ end
end
+ return decode_tag_by_type(ns, elename, typestr, parent, arytypestr,
+ extraattr)
end
if parent.type == XSD::AnyTypeName