summaryrefslogtreecommitdiff
path: root/lib/soap/processor.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap/processor.rb')
-rw-r--r--lib/soap/processor.rb16
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/soap/processor.rb b/lib/soap/processor.rb
index 9cf00e8340..3c6dbedf2f 100644
--- a/lib/soap/processor.rb
+++ b/lib/soap/processor.rb
@@ -25,20 +25,18 @@ module Processor
class << self
public
- def marshal(header, body, opt = {}, io = nil)
- env = SOAPEnvelope.new(header, body)
+ def marshal(env, opt = {}, io = nil)
generator = create_generator(opt)
- generator.generate(env, io)
+ marshalled_str = generator.generate(env, io)
+ unless env.external_content.empty?
+ opt[:external_content] = env.external_content
+ end
+ marshalled_str
end
def unmarshal(stream, opt = {})
parser = create_parser(opt)
- env = parser.parse(stream)
- if env
- return env.header, env.body
- else
- return nil, nil
- end
+ parser.parse(stream)
end
def default_parser_option=(rhs)