| Class | SOAP::Mapping::StringFactory_ |
| In: |
lib/soap/mapping/factory.rb
|
| Parent: | Factory |
# File lib/soap/mapping/factory.rb, line 80
80: def initialize(allow_original_mapping = false)
81: super()
82: @allow_original_mapping = allow_original_mapping
83: end
# File lib/soap/mapping/factory.rb, line 85
85: def obj2soap(soap_class, obj, info, map)
86: if !@allow_original_mapping and !obj.instance_variables.empty?
87: return nil
88: end
89: begin
90: unless XSD::Charset.is_ces(obj, Thread.current[:SOAPExternalCES])
91: return nil
92: end
93: encoded = XSD::Charset.encoding_conv(obj,
94: Thread.current[:SOAPExternalCES], XSD::Charset.encoding)
95: soap_obj = soap_class.new(encoded)
96: rescue XSD::ValueSpaceError
97: return nil
98: end
99: mark_marshalled_obj(obj, soap_obj)
100: soap_obj
101: end
# File lib/soap/mapping/factory.rb, line 103
103: def soap2obj(obj_class, node, info, map)
104: obj = Mapping.create_empty_object(obj_class)
105: decoded = XSD::Charset.encoding_conv(node.data, XSD::Charset.encoding,
106: Thread.current[:SOAPExternalCES])
107: obj.replace(decoded)
108: mark_unmarshalled_obj(node, obj)
109: return true, obj
110: end