1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/soap/mapping/factory.rb: mark marshalled basetype objects when

@allow_original_mapping is true.  multi-referencing basetype node is
  prohibited in SOAP/1.1 encoding but soap4r's original ruby object mapping
  requires basetype to be marked to detect self referencing loop.
  e.g. o = 1; o.instance_eval { @iv = o }  soap4r's original mapping is only
  used through soap/marshal API.

* test/soap/marshal/test_marshal.rb: add tests for self referencing immutable
  objects.

* test/soap/calc/test_calc_cgi.rb: fix test name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nahi 2003-10-31 16:50:27 +00:00
parent e6775cc193
commit 3f4d04564b
4 changed files with 41 additions and 3 deletions

View file

@ -136,7 +136,10 @@ class BasetypeFactory_ < Factory
rescue XSD::ValueSpaceError
return nil
end
# Basetype except String should not be multiref-ed in SOAP/1.1.
if @allow_original_mapping
# Basetype except String should not be multiref-ed in SOAP/1.1.
mark_marshalled_obj(obj, soap_obj)
end
soap_obj
end