when "xsd:any" is used in a schema, it translates to ["any", [nil, XSD::QName.new(NsXMLSchema, "anyType")]] in the MappingRegistry?.
When a soap message is sent, a element anyType occurs, that can not be exactly translated in
soap/mapping/encodedregistry.rb#add_elesoap2stubobj -> soap2typedobj
same goes of all types with mapped_class == nil in registry
The fix is to add "item.mapped_class.nil?" in line 549, to ensure that every type that can not be mapped to a class ist treated as anyType.
=> result looks like
if item && !item.mapped_class.nil?
child = soap2typedobj(value, item.mapped_class)
else
# unknown element is treated as anyType.
child = Mapping._soap2obj(value, self)
end