There is nothing wrong, the proxy can also use this service - the message from the client to the server does not contain the out parameter, therefore the order of MyParam1 and MyParam2 is expected; in the output message (response from the server), the out parameter is the only one in the body (except for the return value).
The link first displays the output parameters, because metadata (WSDL) contains only the parameters for each message (input / output), and not for the operation itself, therefore, "add a link to the service" needs to be "guessed" where the parameter will be - and have it as the first parameter in the operation is as good as any other position.
Update: this no longer occurs when using .Net 4.5 on the client side. The order of the parameters is supported.
source share