diff options
Diffstat (limited to 'lib/soap/mapping/rubytypeFactory.rb')
-rw-r--r-- | lib/soap/mapping/rubytypeFactory.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/soap/mapping/rubytypeFactory.rb b/lib/soap/mapping/rubytypeFactory.rb index 6c30f23a7b..4c629e10d6 100644 --- a/lib/soap/mapping/rubytypeFactory.rb +++ b/lib/soap/mapping/rubytypeFactory.rb @@ -38,6 +38,14 @@ class RubytypeFactory < Factory def obj2soap(soap_class, obj, info, map) param = nil case obj + when ::Symbol + unless @allow_original_mapping + return nil + end + param = SOAPStruct.new(TYPE_SYMBOL) + mark_marshalled_obj(obj, param) + param.add('id', SOAPString.new(obj.id2name)) + addiv2soapattr(param, obj, map) when ::String unless @allow_original_mapping return nil @@ -185,14 +193,6 @@ class RubytypeFactory < Factory mark_marshalled_obj(obj, param) param.add('name', SOAPString.new(obj.name)) addiv2soapattr(param, obj, map) - when ::Symbol - unless @allow_original_mapping - return nil - end - param = SOAPStruct.new(TYPE_SYMBOL) - mark_marshalled_obj(obj, param) - param.add('id', SOAPString.new(obj.id2name)) - addiv2soapattr(param, obj, map) when ::Struct unless @allow_original_mapping # treat it as an user defined class. [ruby-talk:104980] |