summaryrefslogtreecommitdiff
path: root/lib/soap/marshal.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap/marshal.rb')
-rw-r--r--lib/soap/marshal.rb9
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