Introduction
I was navigating the web looking for a currency converter and, finally, I found an article by Phil Williams that explains currency conversion using Web Services. So I based this ASP.NET example on that article, and I have tries to make a little bit easier implementation using the ASP.NET environment. You will find the original article here: "Currency Conversion Using Web Services" by Phil Williams. Now, let's focus on the program. This article shows how to implement the currency converter Web Service from http://www.xmethods.net/ in order to get the exchange rates between currencies; the countries list is available in the xmethods website.
Step 1
Start a new ASP.NET project. In the web form, you must create three labels, named Trm (it will show US dollars in Colombian Pesos), Euro (same case but with Euro), Euro_Us (Euro in dollars).
Step 2
The second step is to add the Web Service reference to the third party Web Service, but how?? Go to the Solution Explorer, right click on the root, and click on Add Web Reference.
Sorry about the Spanish language in the screenshot, that's my mother language. In this page, you must specify the Web Service URL and click on Go. The URL is http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl. Now you will see all the methods available for the Web Service; this one just has one: the GetRate()
Web Method.
- Change the Web Reference name to any string; in this case, it will be
Rate_WS
. - Click on the Add Web Reference button.
Add Web Reference Wizard
Now you will be able to invoke the GetRate()
method from your program.
Step 3
In the page_load
event, add these lines:
protected void Page_Load(object sender, EventArgs e)
{
try{
Rate_WS.CurrencyExchangeService to_currency =
new Rate_WS.CurrencyExchangeService();
float euro_us = to_currency.getRate("euro", "united states");
float us_pesos = to_currency.getRate("united states", "colombia");
float euro_pesos = to_currency.getRate("euro", "colombia");
Trm.Text = us_pesos.ToString();
Euro.Text = euro_pesos.ToString();
Euro_Us.Text = euro_us.ToString();
}
catch(Exception){}
}
Change the country names to what you want; the list of countries supported is available at http://www.xmethods.net/. This is an easy implementation for a basic Web Service. Feel free to make any changes.