diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-06 02:20:51 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-06 02:20:51 +0000 |
commit | ff1b89a96d0f103ff0c917c458ddd3e36e9b3718 (patch) | |
tree | 5449bd61cebdf6486cb443c0013a8573204fb50c /lib/soap/marshal.rb | |
parent | 8a8dd6519948eaf207f03c12152fc160de7370a2 (diff) | |
download | ruby-ff1b89a96d0f103ff0c917c458ddd3e36e9b3718.tar.gz |
* import soap4r/1.5.2;
* lib/soap/{attachment.rb,baseData.rb,encodingstyle/soapHandler.rb}:
introduce SOAPExternalReference class as a referenct to SOAPEnvelope
external content.
* lib/soap/{attachment.rb,mimemessage.rb}: great SwA (SOAP messages
with Attachments) support code by Jamie Herre.
* lib/soap/{element.rb,marshal.rb,parser.rb,processor.rb,
streamHandler.rb,wsdlDriver.rb}: SwA support.
* lib/soap/rpc/{cgistub.rb,driver.rb,element.rb,proxy.rb,router.rb,
soaplet.rb}: SwA support and refactoring.
* lib/soap/generator.rb, lib/soap/mapping/mapping.rb: follow
SOAPReference#initialize signature change.
* lib/soap/mapping/factory.rb: deleted unused methods.
* lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type
string <-> Ruby class name matching.
* lib/xsd/datatypes.rb: check the smallest positive non-zero
single-precision float exactly instead of packing with "f".
[ruby-talk:88822]
* test/soap/test_basetype.rb, test/xsd/test_xsd.rb: use 1.402e-45, not
1.4e-45. 1.4e-45 is smaller than 2 ** -149...
* test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb,
test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0".
* test/soap/test_streamhandler.rb: revert to the previous test that
warns "basic_auth unsupported under net/http".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap/marshal.rb')
-rw-r--r-- | lib/soap/marshal.rb | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/soap/marshal.rb b/lib/soap/marshal.rb index 910ab24527..7202a6aba8 100644 --- a/lib/soap/marshal.rb +++ b/lib/soap/marshal.rb @@ -37,15 +37,16 @@ module Marshal soap_obj = Mapping.obj2soap(obj, mapping_registry) body = SOAPBody.new body.add(elename, soap_obj) - SOAP::Processor.marshal(nil, body, {}, io) + env = SOAPEnvelope.new(nil, body) + SOAP::Processor.marshal(env, {}, io) end def unmarshal(stream, mapping_registry = MarshalMappingRegistry) - header, body = SOAP::Processor.unmarshal(stream) - if body.nil? + env = SOAP::Processor.unmarshal(stream) + if env.nil? raise ArgumentError.new("Illegal SOAP marshal format.") end - Mapping.soap2obj(body.root_node, mapping_registry) + Mapping.soap2obj(env.body.root_node, mapping_registry) end end end |