Обычно WSDL, генерируемый Java, содержит несколько определений функций с одинаковым именем функции, различающихся только типом аргумента или номером.
Это создает проблемы при попытке использовать WSDL из других языков (особенно языков, которые плохо справляются с перегрузкой или вообще). Например:
Groovy's WSClient сразу выходит из строя во время инициализации:
java.lang.IllegalArgumentException: An operation with name
[{http://example.com/service-v1}overloadedFunction]
already exists in this service
Ruby's wsdlDriver не сразу завершается с ошибкой, но вызывается только одна версия определений перегруженных функций (остальные кажутся непригодными).
Если я не могу изменить службу, есть ли хороший способ справиться с этим? Возможно, есть опция для этих клиентских библиотек SOAP, разных библиотек или устоявшегося преобразования WSDL?