Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to call a webservice programmatically in asp.net

How to call webservice programmatically in asp.net without using add web reference? My webservice url keeps on changing. Hence i need to capture the url at runtime and display the results. Please advice.

like image 362
DJ. Avatar asked Mar 10 '10 05:03

DJ.


2 Answers

You can change the URL of a web-reference at runtime (provided that the new address is hosting a service with the same schema that you originally used to create the reference):

MyWebService ms = new MyWebService();
ms.Url = "http://example.com/webservice.asmx";
ms.MyWebMethod();

Web References are definitely the way to go - whilst the classes that are created by the web reference are usually pretty heavy, all that strong typing makes it well worth your while.

like image 143
Dexter Avatar answered Oct 06 '22 01:10

Dexter


you need to do the following steps.

PreReq : First of all, you know the URL of web service.

Solution: use wsdl.exe to create a proxy class and than compile it.

wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL

(there are other switches available for wsdl. For Example to generate VB class, you need to add switch /language:VB)

Once your proxy class is generated you can easily consume in code.

MyProxyClass objService = new MyProxyClass();
DateTime time = objService.GetServerTime(); //Suppose service has  method getServerTime
like image 24
Adeel Avatar answered Oct 05 '22 23:10

Adeel