У меня есть веб-страница ASP.NET, на которой есть веб-ссылка на SOAP WSDL. Если я вызываю методы, связанные с этим WSDL (методы живут на другом сервере), все работает нормально. Однако я хотел бы иметь возможность динамически изменять адрес конечной точки, на который указывает WSDL. Причина в том, что мы размещаем один и тот же набор веб-сервисов для разных групп, и нам нравится отслеживать, кто использует веб-сервисы. Таким образом, каждый набор имеет свой собственный URL.
Я попытался изменить свойство "Url" в моем клиентском объекте мыла на другую конечную точку, но когда я это делаю, методы возвращают эту ошибку:
Клиент обнаружил тип содержимого ответа «текст/обычный», но ожидал «текст/xml»
Я думаю, что свойство Url сбивает с толку прокси-класс, заставляя его думать, что теперь я использую веб-службу REST?
Вот часть моего кода:
mySoapNamespace.mySoapClient soapClient = new mySoapNamespace.mySoapClient();
//next I try to change the endpoint URL of the WSDL, misguided? ...
soapClient.Url = "http://a_different_url/my_soap_server.wsdl";
string result = soapClient.myTestMethod();
Response.Write(result);
И вот где я получаю ошибку. Кто-нибудь знает исправление или другой способ динамического изменения конечной точки вызова SOAP?