Если вы напишите класс, производный от System.Web.Services.Protocols.SoapHttpClientProtocol
(и имеющий правильные атрибуты, например, WebServiceBinding
, SoapDocumentMethod
и т. Д., Примененные к нему и его методам), вы можете довольно легко вызывать методы SOAP без необходимости файл WSDL.
Самый простой способ сделать это - написать собственный веб-сервис ASP.NET, который реплицирует сторонний API SOAP, сгенерировать из него прокси-класс, а затем вручную отредактировать файл, чтобы убедиться, что URL, пространства имен, метод имена, типы параметров и т. д. являются правильными для стороннего API, который вы хотите вызвать.