As you can see, both the operations add and subtract have input & output messages with the same names "InputNums" and "Result" respectively.
When I try to validate this WSDL, I get the following error:
The name 'InputNums' specified for this input element is not unique.
The name of an input element must be unique from the names of all other input and output elements defined in the 'TestService' port type.
I've read the WSDL spec here which doesn't give the reasons clearly(at least to me). It says:
The name attribute of the input and output elements provides a unique name among all input and output elements within the enclosing port type.
In order to avoid having to name each input and output element within an operation, WSDL provides some default values based on the operation name.
In order to avoid naming each input/output elements, WSDL provides defaults. But why is that a RULE? Shouldn't it be a warning?
Can't the developer provide the names by him/herself if he/she wants to?
Further, I don't understand why this is a problem, since when the clients invoke the web service, they invoke with specific operation names called 'add' or 'subtract'.
My question finally is - As long as the operation names are different why should the parameter names matter?
Can some one please explain the consequences of having the WSDL like this, if any ?
Thanks in advance
posted 3 years ago
For those who are interested, this post has been answered here