An ASP.NET Blog
I work for Microsoft and help people and businesses make better use of technolgy to realize their full potential. The opinions mentioned herein are solely mine and do not reflect those of my employer.

ASP.NET Webservices - Invoking Webmethods from Remote Machine

Saturday, March 25, 2006 8:58 AM
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 !!!

Feedback

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

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

Post a comment





 

Please add 7 and 3 and type the answer here: