Rationale to close the operation overloading issue

Regards,
Joyce
-------

Starting with a WSDL that allows overloading means that there
will be a mangling problem when mapping to languages that do not allow
overloading.
    Even if one accepts that argument that "modern" languages, and the only
ones that we need to be concerned about, support overloading,  there still
may be a problem. The mapping will only be "natural" if the type systems
between WSDL and the target languages are similar "enough" that the
languages will allow the reuse of a method name for all possible
overloadings in both directions.
    For example let's say that in an overloaded WSDL there is a difference
between unsigned and signed integers, so that i can have 2 foo(), one with
an unsigned integer, the other with a signed integer. What will happen in a
language which doesn't allow a foo(unsigned integer) and foo(integer)?

   Another issue that arises is the efficiency/possibility of doing
dispatch on the server side. If WSDL allows overloading, then the dispatch
mechanism will have to determine which "real" method to call based upon the
actual parameter types in the request. (Dispatch based upon name won't be
good enough.) Resolving the ambiguity may be quite complex and time consuming.

Therefore, for simplicity and loose coupling between the endpoints,
WSDL should not support operation overloading. The operation  names
within a portType should be unique.

Received on Thursday, 13 June 2002 13:24:42 UTC