from soap4r-ML
I tried to generate a driver and service for a WSDL file that uses "method" overloading, but ran into some problems which *look* like they might be problems in wsdl2ruby routines.
The original WSDL was at http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl (method renderContent has two different forms with different numbers of args).
I've simplified it down to http://www.codehaus.org/~bwalding/test2.wsdl which has two different methodAlpha requests.
Now my WSDL skills are shaky, but the SOAPUI tool that I tried thinks the WSDL is valid and the methods look right in it (as an aside, xmethods doesn't seem to like the overloading either using the same signatures for both methods).
The ruby (partial paste only) generated in the driver :
Methods = [
[ XSD::QName.new("http://soap.rpc.confluence.atlassian.com", "methodAlpha"),
"",
"methodAlpha",
[ ["in", "in0", ["::SOAP::SOAPString"]],
["in", "in1", ["::SOAP::SOAPString"]],
["in", "in2", ["::SOAP::SOAPString"]],
["retval", "methodAlphaReturn", ["::SOAP::SOAPLong"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded }
],
[ XSD::QName.new("http://soap.rpc.confluence.atlassian.com", "methodAlpha"),
"",
"methodAlpha",
[ ["in", "in0", ["::SOAP::SOAPString"]],
["in", "in1", ["::SOAP::SOAPString"]],
["in", "in2", ["::SOAP::SOAPString"]],
["retval", "methodAlphaReturn", ["::SOAP::SOAPLong"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded }
]
]
Is the WSDL wrong? or is this a problem in SOAP4R?
Thanks,
Ben