# File lib/soap/mapping/mapping.rb, line 40 def self.obj2soap(obj, registry = nil, type = nil, opt = EMPTY_OPT) registry ||= Mapping::DefaultRegistry soap_obj = nil protect_threadvars(:SOAPMarshalDataKey, :SOAPExternalCES, :SOAPMarshalNoReference) do Thread.current[:SOAPMarshalDataKey] = {} Thread.current[:SOAPExternalCES] = opt[:external_ces] || $KCODE Thread.current[:SOAPMarshalNoReference] = opt[:no_reference] soap_obj = _obj2soap(obj, registry, type) end soap_obj end