То, что вы пытаетесь сделать, звучит больно сейчас и больно продолжать двигаться вперед, если на сервере что-то изменится.Это действительно заново изобретает колесо.
Если вы еще не рассмотрели его, я бы:
(a) Изучите, можете ли вы использовать имеющиеся у вас метаданные для службы и использоватьпрокси-генератор родной для вашей целевой платформы.Не так много платформ, на которых нет хотя бы некоторого инструментария, который мог бы помочь вам частично, если не полностью.Возможно, перепечатайте вопрос, направленный на людей Ruby, спрашивающих, какие платформы существуют для использования службы HTTPS, учитывая, что это WSDL?
(b) Если это не удастся, если ваш сценарий позволит это, я рассмотрю использование прокси, написанного на C #, который действует какфасад для службы, который переводит его в нечто более простое в использовании (например, вы можете использовать что-то вроде ASP.NET MVC WebAPI, которое является гибким и может легко обслуживать ответы, соответствующие стандартам, над которыми вы можете сохранять полный контроль).
Я подозреваю, что один из них может оказаться проще и ценнее, чем дорога, по которой вы сейчас находитесь.