diff options
Diffstat (limited to 'lib/soap/processor.rb')
-rw-r--r-- | lib/soap/processor.rb | 16 |
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) |