Servicios Web con Amazon com.amazon.webservices

Consulta de WS de Amazon y dataaccess
el ejecicio realiza consultas a libros consumiendo un WS de amazon para obtener los registros que cumplan con diferentes opciones de busqueda (Titulo, publicación, autor ) para el ejemplo. los valores que obtiene son Titulo, publicación, autor, precio del libro e imagén.
Realize en .net c# la siguiente interfaz grafica: utilize objetos de tipo Label (titulos), TextBox(capturar los datos para crear la sentencia de consulta de libros) , Buttom (Ralizan busqueda y borrar dats del formulrio) y un objeto DataList para enlazarlo con los datos que retorna el WS de amazon.
 
 
 
el resultado de la busqueda produce el siguiente resultado:
1.  primero cree un usuario o registrese el el sitio de amazon: https://www.amazon.com/
2.  para utilizar estos servicios web es necesario que los resultados de las busquedas los almacene en el cache de la aplicación por 24 horas (en el ejercicio siguiente no almaceno en cache) falta hacer esta implementación (OJO hay que hacerla lea documentación de Licencias en amazón)
3.cree un proyecto web en visual studio 2005 o 2008 en c# y adicione la referencia al servico  http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl.
y al servicio web http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL que permite pasar el valor del libro recibido en el WS de amazon a su valor correspondiente en letras (en dolares) como muestra la figura del formulario web.
4 Adicione el  siguiente codigo en el evento clic de un control Buttom y adicione dos cajas de texto para recibir los valores de lab busqueda del libro por titulo y publicacion, por ultimo adiocne ul DataList  para cargar los resultados de la busqueda.
 

CODE BEHAIND

Evento Clic de busqueda:

protected void btnListarLibros_Click(object sender, EventArgs e)

{

string Cadena = "";

//objeto System.Collections.Generic.List

ListadoLibros objListadoLibros = new ListadoLibros();

Libros objLibro;

//Instancias de los WS 

com.dataaccess.www.

NumberConversion wsNumber = new com.dataaccess.www.NumberConversion();

com.amazon.webservices.

AWSECommerceService Comerce = new com.amazon.webservices.AWSECommerceService();

com.amazon.webservices.

ItemSearchRequest request = new com.amazon.webservices.ItemSearchRequest();

com.amazon.webservices.

ItemSearch ItemSearch = new com.amazon.webservices.ItemSearch();

try

{

//campos de consulta son TextBox txtTitle y txtAuthor

if (txtTitle.Text != "")

Cadena = Cadena +

"title: " + txtTitle.Text + " and ";

if (txtAuthor.Text != "")

Cadena = Cadena +

"author: " + txtAuthor.Text + " and ";

if (Cadena != "")

Cadena = Cadena.Substring(0, Cadena.Length – 4);
request.SearchIndex =

"Books";

request.Power = Cadena;
request.ResponseGroup =

new string[] { "Large", "ItemAttributes", "Reviews" };

// request.Sort = "salesrank";

com.amazon.webservices.

ItemSearchRequest[] requests = new com.amazon.webservices.ItemSearchRequest[] { request };

ItemSearch.AssociateTag =

"thevanguardsc-20";

ItemSearch.SubscriptionId =

"0NEF9EV1DMV76EGCGNG2";

//ItemSearch.SubscriptionId = "0NQJY4BXVZP3SFWWPZG2";

ItemSearch.Request = requests;
com.amazon.webservices.

ItemSearchResponse response = Comerce.ItemSearch(ItemSearch);

com.amazon.webservices.

Items info = response.Items[0];

com.amazon.webservices.

Item[] items = info.Item;

string price="";

for (int i = 0; i < items.Length; i++)

{
objLibro =

new Libros();

com.amazon.webservices.

Item item = items[i];

objLibro.Titulo = item.ItemAttributes.Title;

if (item.ItemAttributes.ListPrice != null)

{
price = item.ItemAttributes.ListPrice.FormattedPrice;
price = price.Substring(1, price.Length – 1);
objLibro.ValorLibro =

decimal.Parse(price.ToString());

objLibro.PrecioLetras = wsNumber.NumberToDollars(objLibro.ValorLibro);
}

if (item.MediumImage !=null)

objLibro.ImageUrl = item.MediumImage.URL;
 

if (item.ItemAttributes.ISBN != null)

objLibro.ISBN = item.ItemAttributes.ISBN.ToString();

if (item.ItemAttributes.Author!=null)

objLibro.Autor = item.ItemAttributes.Author[0];

if(item.ItemAttributes.CDRWDescription!= null)

objLibro.CDRWDescripcion = item.ItemAttributes.CDRWDescription;
objListadoLibros.ListaLibros.Add(objLibro);
}

//objeto System.Collections.Generic.List como origen de datos del objeto DataList

this.dlsLibros.DataSource = objListadoLibros.ListaLibros;

this.dlsLibros.DataBind();

}

catch (Exception ex)

{

throw new Exception(ex.Message, ex);

}
}

 
El código Fuente del articulo esta completo y esta escito en c# con Visual Studio 2005 y lo puedes descarga del siguiente link:
 
 
 
 
 
 

About omaracostacasas

ING SOFTWARE
This entry was posted in Microsoft .NET. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s