summaryrefslogtreecommitdiff
path: root/lib/soap
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap')
-rw-r--r--lib/soap/baseData.rb2
-rw-r--r--lib/soap/rpc/proxy.rb11
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/soap/baseData.rb b/lib/soap/baseData.rb
index 0e8b00d450..72a6e0723d 100644
--- a/lib/soap/baseData.rb
+++ b/lib/soap/baseData.rb
@@ -788,7 +788,7 @@ public
if ele.is_a?(Array)
deep_map(ele, &block)
else
- new_obj = block.call(ele)
+ new_obj = yield(ele)
new_obj.elename = ITEM_NAME
new_obj
end
diff --git a/lib/soap/rpc/proxy.rb b/lib/soap/rpc/proxy.rb
index 7dfda62006..0797c70884 100644
--- a/lib/soap/rpc/proxy.rb
+++ b/lib/soap/rpc/proxy.rb
@@ -345,7 +345,12 @@ private
if @response_style == :rpc
response_rpc(body, mapping_registry, literal_mapping_registry, opt)
else
- response_doc(body, mapping_registry, literal_mapping_registry, opt)
+ ret = response_doc(body, mapping_registry, literal_mapping_registry, opt)
+ if ret.size == 1
+ ret[0]
+ else
+ ret
+ end
end
end
@@ -439,9 +444,9 @@ private
def response_doc(body, mapping_registry, literal_mapping_registry, opt)
if @response_use == :encoded
- return *response_doc_enc(body, mapping_registry, opt)
+ return response_doc_enc(body, mapping_registry, opt)
else
- return *response_doc_lit(body, literal_mapping_registry, opt)
+ return response_doc_lit(body, literal_mapping_registry, opt)
end
end