В то, что генерируется по WSDL я один раз в жизни залез
Не хочется вдаваться в дискуссию. По-дефотлу вы правы. Но на практике можно выстроить структуру, в которой прегенерируемый код не будет ломать сервисы. Потому что, по сути, будут генерироваться только интерфейсы с объектами передачи данных, а изменения в них так или иначе всегда приводят к изменениям в коде, а иногда и к редизайну.
Но такой подход сложный, для его реализации нужны соотв навыки и воля.
Поэтому чаще всего дефинишен генерируется из кода. Но опять же, на основе стабов сначала. Чтобы побыстрее "допилить" API и зашерить его дефинишен