summaryrefslogtreecommitdiff
path: root/lib/wsdl/soap/driverCreator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wsdl/soap/driverCreator.rb')
-rw-r--r--lib/wsdl/soap/driverCreator.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/wsdl/soap/driverCreator.rb b/lib/wsdl/soap/driverCreator.rb
index 50be8ed1dc..b752ee336d 100644
--- a/lib/wsdl/soap/driverCreator.rb
+++ b/lib/wsdl/soap/driverCreator.rb
@@ -68,10 +68,15 @@ Methods = [
end
c.def_privatemethod("init_methods") do
<<-EOD
- Methods.each do |name_as, name, params, soapaction, namespace|
+ Methods.each do |name_as, name, params, soapaction, namespace, style|
qname = ::XSD::QName.new(namespace, name_as)
- @proxy.add_method(qname, soapaction, name, params)
- add_rpc_method_interface(name, params)
+ if style == :document
+ @proxy.add_document_method(qname, soapaction, name, params)
+ add_document_method_interface(name, name_as)
+ else
+ @proxy.add_rpc_method(qname, soapaction, name, params)
+ add_rpc_method_interface(name, params)
+ end
end
EOD
end