ASP.NET Webservices - Invoking Webmethods from Remote Machine

ASP.NET Webservices have reduced the complexity involved in developing web services, thanks to tools like Visual Studio .NET, Visual Studio 2005 which reduce the over head of manually creating the proxy files and schema.

We can invoke a service by browsing the <ServiceName>.asmx file and trying to invoke the webmethods available, from the local machine.

However, the webservice is a scenario where, usually the service lies on a different machine other than the machine where the application which consumes the service, resides.

If we would like to invoke the service from other machine, by default, it would display the message "The test form is only available for requests from the local machine."

To enable the Service to be invoked from remote machine, we need to add the following settings to the Web.Config file of the Web Service Application.


<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>

This would enable the Web service to be able to be invoked from remote machine. However, this invoking would work only for simple data types and would not work in the case of complex datatypes.

Similarly, this setting would only be useful in development / testing scenarios and it is advisable to remove / comment the above section when releasing for production, due to security reasons.

This articles applies to both .NET 1.1 as well as .NET 2.0.

Cheers and Happy Web Servicing !!!

posted @ Saturday, March 25, 2006 8:58 AM

Print

Comments on this entry:

# re: ASP.NET Webservices - Invoking Webmethods from Remote Machine

Left by Saravana at 4/21/2006 6:46 AM
Gravatar
This was very useful and there is no need to build the client separately for each of the web service

Your comment:



 (will not be displayed)


 
 
 
 
 

Live Comment Preview:

 
«November»
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345