diff options
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 |