У нас были похожие проблемы с Axis. Проблема, с которой мы столкнулись, заключалась в том, что мы хотели сделать много одновременных вызовов веб-службы, и клиенты Axis, созданные с использованием WSDL, заставляли каждого клиента использовать много памяти. Клиенты не являются поточно-ориентированными, поэтому нам пришлось создавать одного клиента для каждого запроса.
У нас было два варианта. Сначала мы могли бы сгенерировать сгенерированный код - но это было нехорошо по причинам обслуживания.
Во-вторых, мы просто сократили WSDL, чтобы удалить части, которые нам не подходили, и восстановили сокращенных клиентов. Таким образом, если бы мы вызвали один метод сервиса, его клиент не содержал бы объем для несвязанных методов, которые этот поток не использовал бы.
Работало довольно хорошо, но все еще остается кошмаром обслуживания, потому что каждый раз, когда WSDL обновляется (например, наш партнер выпускает новую версию своего веб-сервиса), нам нужно тратить время на создание сокращенных wsdls. Я полагаю, что идеальным решением было бы заставить нашего партнера распознать наши проблемы и стать владельцем урезанных WSDL.