Как звонить, веб-сервис программно в asp.net без использования добавляют веб-ссылку? Мой URL веб-сервиса продолжает изменяться. Следовательно я должен получить URL во времени выполнения и отобразить результаты. Совет.
Где вы пытаетесь вызвать службу и где находится файл службы?
Если служба расположена на том же сайте. Почему бы просто не создать экземпляр имени класса из службы. Или просто создайте отдельный класс и используйте интерфейс
Вы можете указать URL-адрес конечной точки как часть конструктора вашего клиентского прокси-класса.
Если вам не нужно указывать его во время выполнения, его также можно установить в вашем файле web.config
.
Вы можете изменить URL-адрес веб-ссылки во время выполнения (при условии, что на новом адресе размещается служба с той же схемой, которую вы изначально использовали для создания the reference):
MyWebService ms = new MyWebService();
ms.Url = "http://example.com/webservice.asmx";
ms.MyWebMethod();
Веб-ссылки - это определенно правильный путь - хотя классы, создаваемые веб-ссылкой, обычно довольно тяжелые, такая строгая типизация стоит вашего времени.
вам необходимо выполнить следующие действия.
PreReq: Прежде всего, вы знаете URL-адрес веб-службы.
Решение: используйте wsdl.exe , чтобы создать прокси-класс, а затем скомпилировать его.
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(для wsdl доступны другие переключатели . Например, чтобы сгенерировать класс VB , вам нужно добавить переключатель / language: VB)
После того, как ваш прокси создается класс, который можно легко использовать в коде.
MyProxyClass objService = new MyProxyClass();
DateTime time = objService.GetServerTime(); //Suppose service has method getServerTime