Class SOAP::Mapping::StringFactory_
In: lib/soap/mapping/factory.rb
Parent: Factory

Methods

new   obj2soap   soap2obj  

Public Class methods

[Source]

    # 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

Public Instance methods

[Source]

     # 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

[Source]

     # 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

[Validate]