Imports Microsoft.VisualBasic Imports System.Data Imports System.Xml ''' ''' Summary description for AmazonAccess ''' ''' Public Class AmazonAccess Public Sub New() '' '' TODO: Add constructor login here '' End Sub Private Shared Function GetResponseTable() As DataTable Dim dt As DataTable = New DataTable() dt.Columns.Add(New DataColumn("ASIN", Type.GetType("System.String"))) dt.Columns.Add(New DataColumn("ProductName", Type.GetType("System.String"))) dt.Columns.Add(New DataColumn("ProductPrice", Type.GetType("System.String"))) dt.Columns.Add(New DataColumn("ProductImageUrl", Type.GetType("System.String"))) Return dt End Function Private Shared Function GetAmazonDataWithSoap() As DataTable Dim amazonService As AWSECommerseService = New AWSECommerseService(); Dim itemSearch As ItemSearch = New ItemSearch() Dim itemSearchRequest As ItemSearchRequest = New ItemSearchRequest() Dim itemSearchResponse As ItemSearchResponse itemSearch.SubscriptionId = BalloonShopConfiguration.SubscriptionId itemSearchRequest.Keywords = BalloonShopConfiguration.SearchKeywords itemSearchRequest.SearchIndex = BalloonShopConfiguration.SearchIndex itemSearchRequest.ResponseGroup = BalloonShopConfiguration.ResponseGroups.Split(','); itemSearch.Request = New AmazonEcs.ItemSearchRequest(1) {itemSearchRequest} Dim responseTable As DataTable = GetResponseTable() Try itemSearchResponse = amazonService.ItemSearch(itemSearch) Dim results As Item() = itemSearchResponse.Items(0).Item; Dim item As AmazonEcs.Item For Each item In results Try Dim dataRow As DataRow = responseTable.NewRow() dataRow("ASIN") = item.ASIN dataRow("ProductName") = item.ItemAttributes.Title dataRow("ProductImageUrl") = item.SmallImge.URL dataRow("ProductPrice") = item.OfferSummary.LowestNewPrice.FormattedPrice responseTable.Rows.Add(dataRow) Catch ex As Exception End Try Next Catch ex As Exception End Try Return responseTable End Function Public Shared Function GetAmazonDataWithRest() As DataTable Dim responseTable As DataTable = GetResponseTable() Dim amazonRequest As String = string.Format("{0}&SubscriptionId={1}&Operation=ItemSearch&Keywords={2}&SearchIndex={3}&ResponseGroup={4}", BalloonShopConfiguration.AmazonRestUrl, BalloonShopConfiguration.SubscriptionId, BalloonShopConfiguration.SearchKeywords, BalloonShopConfiguration.ResponseGroups) Try Dim responseXmlDoc As XmlDocument = New XmlDocument() responseXmlDoc.Load(amazonRequest) Dim xnm As XmlNamespaceManager = New XmlNamespaceManager(responseXmlDoc.NameTable) xnm.AddNamespace("amz", "http://webservices.amazon.com/AWSECommerseService/2005-07026") Dim itemNodes As XmlNodeList = responseXmlDoc.SelectNodes("amz:ItemSearchResponse/amz:Items/amz:Item", xnm) Dim itemNode As XmlNode For Each itemNode In itemNodes Try Dim dataRow As DataRow = responseTable.NewRow() dataRow("ASIN") = itemNode("ASIN").InnerText dataRow("ProductName") = itemNode("ItemAttributes")("Title").InnerText dataRow("ProductImageUrl") = itemNode("SmallImage")("URL").InnerText dataRow("ProductPrice") = itemNode("OfferSummary")("LowerNewPRice")("FormattedPrice").InnerText responseTable.Rows.Add(dataRow) Catch ex As Exception End Try Next Catch ex As Exception End Try Return responseTable End Function End Class