Генерация кода SOAP-клиента на основе WSDL с выделением общих частей
От: LWhisper  
Дата: 20.12.16 15:51
Оценка:
Всем привет!

Есть вот такой небольшой SDK (находится в публичном доступе):
https://yadi.sk/d/0EZGYGDk34AGJZ

Всё в нём хорошо, но:
1) Существуют смежные SDK, использующие те же самые типы.
2) Существуют различные версии SDK, у которых в операциях используются различные soapAction.

Как смешать их в одну большую кучу, и получить на выходе независимые файлы исходного кода, сгруппированные по сборкам-зависимостям? Если вырезать import/include зависимости, код закономерно, не сгенерируется. Если не вырезать — получим дублирование типов в каждом файле. При этом две операции с одинаковым названием и разными soapAction'ами и вовсе не представляется возможным запилить. В худшем (текущем) сценарии получаем наборы сборок под каждую версию API с дублированием типов в каждой + набор Xml-сериализаторов для них. Прожорливые, и не взаимодействующие между собой.

Я уже готов собирать всё в один CS-файл, разбирать его Roslyn'ом и генерировать по новой, попутно формируя наборы обёрток над операциями. Но, может, существует менее велосипедный способ решения подобных проблем?
wsdl csc code generation .net
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.