| Class | SOAP::Mapping::WSDLEncodedRegistry |
| In: |
soap/mapping/wsdlencodedregistry.rb
|
| Parent: | Registry |
| MapKeyName | = | XSD::QName.new(nil, "key") |
| MapValueName | = | XSD::QName.new(nil, "value") |
| definedelements | [R] | |
| definedtypes | [R] | |
| excn_handler_obj2soap | [RW] | |
| excn_handler_soap2obj | [RW] |
# File soap/mapping/wsdlencodedregistry.rb, line 28 def initialize(definedtypes = XSD::NamedElements::Empty) @definedtypes = definedtypes # @definedelements = definedelements needed? @excn_handler_obj2soap = nil @excn_handler_soap2obj = nil # For mapping AnyType element. @rubytype_factory = RubytypeFactory.new( :allow_untyped_struct => true, :allow_original_mapping => true ) @schema_element_cache = {} end
# File soap/mapping/wsdlencodedregistry.rb, line 41 def obj2soap(obj, qname = nil) soap_obj = nil if type = @definedtypes[qname] soap_obj = obj2typesoap(obj, type) else soap_obj = any2soap(obj, qname) end return soap_obj if soap_obj if @excn_handler_obj2soap soap_obj = @excn_handler_obj2soap.call(obj) { |yield_obj| Mapping._obj2soap(yield_obj, self) } return soap_obj if soap_obj end if qname raise MappingError.new("cannot map #{obj.class.name} as #{qname}") else raise MappingError.new("cannot map #{obj.class.name} to SOAP/OM") end end
map anything for now: must refer WSDL while mapping. [ToDo]
# File soap/mapping/wsdlencodedregistry.rb, line 63 def soap2obj(node, obj_class = nil) begin return any2obj(node, obj_class) rescue MappingError end if @excn_handler_soap2obj begin return @excn_handler_soap2obj.call(node) { |yield_node| Mapping._soap2obj(yield_node, self) } rescue Exception end end raise MappingError.new("cannot map #{node.type.name} to Ruby object") end
ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.