diff options
| author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-11-30 04:33:02 +0000 |
|---|---|---|
| committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-11-30 04:33:02 +0000 |
| commit | 53ec59de18ddbf279650b0ce09e2791cf4200d57 (patch) | |
| tree | 4268267cc8e52a533e4c78490ce6c2009971f972 /lib/soap | |
| parent | 34082bf4ed3bc43da29f38cd535e80814890b39f (diff) | |
| download | ruby-53ec59de18ddbf279650b0ce09e2791cf4200d57.tar.gz ruby-53ec59de18ddbf279650b0ce09e2791cf4200d57.tar.xz ruby-53ec59de18ddbf279650b0ce09e2791cf4200d57.zip | |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@5060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap')
| -rw-r--r-- | lib/soap/encodingstyle/soapHandler.rb | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/soap/encodingstyle/soapHandler.rb b/lib/soap/encodingstyle/soapHandler.rb index 1f359bef4..9aa732535 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 |
