Search Search

#1 worldwide
FREE Coding Lessons

since 1996
   THE BEST WAY to learn ASP & Asp.net!
Advertise Here!
click for details
Credits Host:
DiscountASP.net
Server Admin:
The "Team"
Contact Info.
Charles M. Carroll
<Asp.net blog>
<personal site>
[prev. Lesson]  WebServices
     [next Lesson]  Amazon Web Services: MakeFile Example

Amazon Webservice from ASP.net
by Charles Carroll

Here is our code to use an Amazon Web service from ASP.net. Basically any WebService available has a SOAP interface that is a WSDL file. More details about the program reside @ http://www.amazon.com/gp/browse.html/ref=mm_ws_?node=3435361

   filename=/experiments/amazonws/amazontest.aspx

<Test Script Below>


<%@trace="true" debug="true" %>
<%@ Import Namespace="System.data"%>
<%@ Import Namespace="System.XML.Serialization"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="LearnAsp"%>
<%@ Import Namespace="AmazonSearchService"%>
<%@ Assembly src="/experiments/utilitybelt/vercurrent/utilitybelt.vb" %>
<%@ Assembly src="amazonsearch.vb" %>

<script language="VB" runat="server">
    dim utlty1 as new utilitybelt()
Sub Page_Load(S As Object, E As EventArgs)
    utlty1.options("Debug-on,Xray-To-Page-On")
    
    DIM strXML as string
    
    TRY

        DIM proxy AS new AmazonSearchService()

        DIM reqamz1 as new AsinRequest()
        ' reqamz1.asin = "0672320681"
        reqamz1.asin = "1861004516"
        reqamz1.type = "lite"
        reqAmz1.tag="learnasp"
        ' My Developer Token
        reqamz1.devtag = "D1967KF255R5KZ"

        DIM p1 as ProductInfo

        p1=proxy.AsinSearchRequest(reqamz1)
        trace.warn("type",typename(p1.Details.GetType()))

        strXML=SerializeTypetoXML(p1.Details)
        trace.write("AmazonResult",strXML)
        
         DIM ds1 as new dataset
         dim reader as StringReader= new StringReader(strXML)
         ds1.ReadXml(reader)
         utlty1.Xray(ds1,"Amazon Dataset")
    CATCH ex1 as exception
        Call utlty1.LogException("SUB Page_Load",ex1)
    FINALLY
    
    END TRY

End Sub


function SerializeTypeToXML(objparm as object) as string
    ' now we convert that type into XML
    ' http://aspalliance.com/shark/articles/amzws/amzdoc.aspx
     DIM XmlSrlz1 as xmlSerializer
     XmlSrlz1=new XmlSerializer(objParm.GetType())
     DIM strwrtr1 as StringWriter = new StringWriter()
     XmlSrlz1.Serialize(strwrtr1, objParm)
     return(strwrtr1.ToString())
end function

</script>
<html><head>
<title>XML Demo</title>
</head>
<body bgcolor="#FFFFFF">
<form runat="server">
<ASP:placeholder id="plcErr" runat="server" />
See The Trace For More Details
<ASP:placeholder id="plcEndofPage" runat="server" />
</form>
</body></html>

The Amazon WSDL resides @ http://soap.amazon.com/schemas/AmazonWebServices.wsdl

The Amazon WSDL is easily turned into a VB or C# program that is a object that performs the WebService wtih the WSDL utility from the SDK, i.e.

wsdl amazon.wsdl /out:amazon.vb /language:VB
or
wsdl amazon.wsdl /out:amazon.vb /language:CS

The file below was auto-generated by the WSDL Utility.

filename=/experiments/amazonws/AmazonSearch.vb

'------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'     Runtime Version: 1.0.3705.288
'
'     Changes to this file may cause incorrect behavior and will be lost if 
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml.Serialization

'
'This source code was auto-generated by wsdl, Version=1.0.3705.288.
'

'<remarks/>
<System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.ComponentModel.DesignerCategoryAttribute("code"),  _
 System.Web.Services.WebServiceBindingAttribute(Name:="AmazonSearchBinding", [Namespace]:="urn:PI/DevCentral/SoapService"),  _
 System.Xml.Serialization.SoapIncludeAttribute(GetType(CustomerReview)),  _
 System.Xml.Serialization.SoapIncludeAttribute(GetType(Track)),  _
 System.Xml.Serialization.SoapIncludeAttribute(GetType(BrowseNode)),  _
 System.Xml.Serialization.SoapIncludeAttribute(GetType(KeyPhrase)),  _
 System.Xml.Serialization.SoapIncludeAttribute(GetType(Details))>  _
Public Class AmazonSearchService
    Inherits System.Web.Services.Protocols.SoapHttpClientProtocol
    
    '<remarks/>
    Public Sub New()
        MyBase.New
        Me.Url = "http://soap.amazon.com/onca/soap"
    End Sub
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function KeywordSearchRequest(<System.Xml.Serialization.SoapElementAttribute("KeywordSearchRequest")> ByVal KeywordSearchRequest1 As KeywordRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("KeywordSearchRequest", New Object() {KeywordSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginKeywordSearchRequest(ByVal KeywordSearchRequest1 As KeywordRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("KeywordSearchRequest", New Object() {KeywordSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndKeywordSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function BrowseNodeSearchRequest(<System.Xml.Serialization.SoapElementAttribute("BrowseNodeSearchRequest")> ByVal BrowseNodeSearchRequest1 As BrowseNodeRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("BrowseNodeSearchRequest", New Object() {BrowseNodeSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginBrowseNodeSearchRequest(ByVal BrowseNodeSearchRequest1 As BrowseNodeRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("BrowseNodeSearchRequest", New Object() {BrowseNodeSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndBrowseNodeSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function AsinSearchRequest(<System.Xml.Serialization.SoapElementAttribute("AsinSearchRequest")> ByVal AsinSearchRequest1 As AsinRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("AsinSearchRequest", New Object() {AsinSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginAsinSearchRequest(ByVal AsinSearchRequest1 As AsinRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("AsinSearchRequest", New Object() {AsinSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndAsinSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function UpcSearchRequest(<System.Xml.Serialization.SoapElementAttribute("UpcSearchRequest")> ByVal UpcSearchRequest1 As UpcRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("UpcSearchRequest", New Object() {UpcSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginUpcSearchRequest(ByVal UpcSearchRequest1 As UpcRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("UpcSearchRequest", New Object() {UpcSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndUpcSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function AuthorSearchRequest(<System.Xml.Serialization.SoapElementAttribute("AuthorSearchRequest")> ByVal AuthorSearchRequest1 As AuthorRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("AuthorSearchRequest", New Object() {AuthorSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginAuthorSearchRequest(ByVal AuthorSearchRequest1 As AuthorRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("AuthorSearchRequest", New Object() {AuthorSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndAuthorSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function ArtistSearchRequest(<System.Xml.Serialization.SoapElementAttribute("ArtistSearchRequest")> ByVal ArtistSearchRequest1 As ArtistRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("ArtistSearchRequest", New Object() {ArtistSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginArtistSearchRequest(ByVal ArtistSearchRequest1 As ArtistRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("ArtistSearchRequest", New Object() {ArtistSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndArtistSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function ActorSearchRequest(<System.Xml.Serialization.SoapElementAttribute("ActorSearchRequest")> ByVal ActorSearchRequest1 As ActorRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("ActorSearchRequest", New Object() {ActorSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginActorSearchRequest(ByVal ActorSearchRequest1 As ActorRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("ActorSearchRequest", New Object() {ActorSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndActorSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function ManufacturerSearchRequest(<System.Xml.Serialization.SoapElementAttribute("ManufacturerSearchRequest")> ByVal ManufacturerSearchRequest1 As ManufacturerRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("ManufacturerSearchRequest", New Object() {ManufacturerSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginManufacturerSearchRequest(ByVal ManufacturerSearchRequest1 As ManufacturerRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("ManufacturerSearchRequest", New Object() {ManufacturerSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndManufacturerSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function DirectorSearchRequest(<System.Xml.Serialization.SoapElementAttribute("DirectorSearchRequest")> ByVal DirectorSearchRequest1 As DirectorRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("DirectorSearchRequest", New Object() {DirectorSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginDirectorSearchRequest(ByVal DirectorSearchRequest1 As DirectorRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("DirectorSearchRequest", New Object() {DirectorSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndDirectorSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function ListManiaSearchRequest(<System.Xml.Serialization.SoapElementAttribute("ListManiaSearchRequest")> ByVal ListManiaSearchRequest1 As ListManiaRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("ListManiaSearchRequest", New Object() {ListManiaSearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginListManiaSearchRequest(ByVal ListManiaSearchRequest1 As ListManiaRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("ListManiaSearchRequest", New Object() {ListManiaSearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndListManiaSearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    <System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:PI/DevCentral/SoapService", RequestNamespace:="urn:PI/DevCentral/SoapService", ResponseNamespace:="urn:PI/DevCentral/SoapService")>  _
    Public Function SimilaritySearchRequest(<System.Xml.Serialization.SoapElementAttribute("SimilaritySearchRequest")> ByVal SimilaritySearchRequest1 As SimilarityRequest) As <System.Xml.Serialization.SoapElementAttribute("return")> ProductInfo
        Dim results() As Object = Me.Invoke("SimilaritySearchRequest", New Object() {SimilaritySearchRequest1})
        Return CType(results(0),ProductInfo)
    End Function
    
    '<remarks/>
    Public Function BeginSimilaritySearchRequest(ByVal SimilaritySearchRequest1 As SimilarityRequest, ByVal callback As System.AsyncCallback, ByVal asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("SimilaritySearchRequest", New Object() {SimilaritySearchRequest1}, callback, asyncState)
    End Function
    
    '<remarks/>
    Public Function EndSimilaritySearchRequest(ByVal asyncResult As System.IAsyncResult) As ProductInfo
        Dim results() As Object = Me.EndInvoke(asyncResult)
        Return CType(results(0),ProductInfo)
    End Function
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("KeywordRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class KeywordRequest
    
    '<remarks/>
    Public keyword As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("SimilarityRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class SimilarityRequest
    
    '<remarks/>
    Public asin As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("ListManiaRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class ListManiaRequest
    
    '<remarks/>
    Public lm_id As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("DirectorRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class DirectorRequest
    
    '<remarks/>
    Public director As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("ManufacturerRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class ManufacturerRequest
    
    '<remarks/>
    Public manufacturer As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("ActorRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class ActorRequest
    
    '<remarks/>
    Public actor As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("ArtistRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class ArtistRequest
    
    '<remarks/>
    Public artist As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("AuthorRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class AuthorRequest
    
    '<remarks/>
    Public author As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("UpcRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class UpcRequest
    
    '<remarks/>
    Public upc As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("AsinRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class AsinRequest
    
    '<remarks/>
    Public asin As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("BrowseNodeRequest", "urn:PI/DevCentral/SoapService")>  _
Public Class BrowseNodeRequest
    
    '<remarks/>
    Public browse_node As String
    
    '<remarks/>
    Public page As String
    
    '<remarks/>
    Public mode As String
    
    '<remarks/>
    Public tag As String
    
    '<remarks/>
    Public type As String
    
    '<remarks/>
    Public devtag As String
    
    '<remarks/>
    Public version As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("CustomerReview", "urn:PI/DevCentral/SoapService")>  _
Public Class CustomerReview
    
    '<remarks/>
    Public Rating As String
    
    '<remarks/>
    Public Summary As String
    
    '<remarks/>
    Public Comment As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("Reviews", "urn:PI/DevCentral/SoapService")>  _
Public Class Reviews
    
    '<remarks/>
    Public AvgCustomerRating As String
    
    '<remarks/>
    Public CustomerReviews() As CustomerReview
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("Track", "urn:PI/DevCentral/SoapService")>  _
Public Class Track
    
    '<remarks/>
    Public TrackName As String
    
    '<remarks/>
    Public ByArtist As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("BrowseNode", "urn:PI/DevCentral/SoapService")>  _
Public Class BrowseNode
    
    '<remarks/>
    Public BrowseId As String
    
    '<remarks/>
    Public BrowseName As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("KeyPhrase", "urn:PI/DevCentral/SoapService")>  _
Public Class KeyPhrase
    
    '<remarks/>
    <System.Xml.Serialization.SoapElementAttribute("KeyPhrase")>  _
    Public KeyPhrase1 As String
    
    '<remarks/>
    Public Type As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("Details", "urn:PI/DevCentral/SoapService")>  _
Public Class Details
    
    '<remarks/>
    Public Url As String
    
    '<remarks/>
    Public Asin As String
    
    '<remarks/>
    Public ProductName As String
    
    '<remarks/>
    Public Catalog As String
    
    '<remarks/>
    Public KeyPhrases() As KeyPhrase
    
    '<remarks/>
    Public Artists() As String
    
    '<remarks/>
    Public Authors() As String
    
    '<remarks/>
    Public Mpn As String
    
    '<remarks/>
    Public Starring() As String
    
    '<remarks/>
    Public Directors() As String
    
    '<remarks/>
    Public TheatricalReleaseDate As String
    
    '<remarks/>
    Public ReleaseDate As String
    
    '<remarks/>
    Public Manufacturer As String
    
    '<remarks/>
    Public Distributor As String
    
    '<remarks/>
    Public ImageUrlSmall As String
    
    '<remarks/>
    Public ImageUrlMedium As String
    
    '<remarks/>
    Public ImageUrlLarge As String
    
    '<remarks/>
    Public ListPrice As String
    
    '<remarks/>
    Public OurPrice As String
    
    '<remarks/>
    Public UsedPrice As String
    
    '<remarks/>
    Public RefurbishedPrice As String
    
    '<remarks/>
    Public CollectiblePrice As String
    
    '<remarks/>
    Public ThirdPartyNewPrice As String
    
    '<remarks/>
    Public SalesRank As String
    
    '<remarks/>
    Public BrowseList() As BrowseNode
    
    '<remarks/>
    Public Media As String
    
    '<remarks/>
    Public ReadingLevel As String
    
    '<remarks/>
    Public Publisher As String
    
    '<remarks/>
    Public NumMedia As String
    
    '<remarks/>
    Public Isbn As String
    
    '<remarks/>
    Public Features() As String
    
    '<remarks/>
    Public MpaaRating As String
    
    '<remarks/>
    Public EsrbRating As String
    
    '<remarks/>
    Public AgeGroup As String
    
    '<remarks/>
    Public Availability As String
    
    '<remarks/>
    Public Upc As String
    
    '<remarks/>
    Public Tracks() As Track
    
    '<remarks/>
    Public Accessories() As String
    
    '<remarks/>
    Public Platforms() As String
    
    '<remarks/>
    Public Encoding As String
    
    '<remarks/>
    Public Reviews As Reviews
    
    '<remarks/>
    Public SimilarProducts() As String
    
    '<remarks/>
    Public Lists() As String
End Class

'<remarks/>
<System.Xml.Serialization.SoapTypeAttribute("ProductInfo", "urn:PI/DevCentral/SoapService")>  _
Public Class ProductInfo
    
    '<remarks/>
    Public Details() As Details
End Class
   filename=/experiments/yahoostores/yahoostoreviewerweb.aspx

<Test Script Below>


<%@ debug="true"%>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>

<script language="VB" runat="server">
SUB Page_Load(Src As Object, E As EventArgs) 
    If ispostback=false THEN
        storeURL.text="http://store.yahoo.com/yhst-1443191082283/objinfo.xml"
    ELSE
        Dim ds As New DataSet
        dim tablecount as integer
        dim tablecurrent as integer
        DIM datafromURL as streamreader
    
        datafromURL=readURLstream(storeURL.text)
        ds.ReadXml(datafromURL)
        dim counter as integer
        tablecount=ds.tables.count()
        'response.write ("tablecount=" & tablecount & "<br>")
        TRY
            tablecurrent=cint(whichdataview.selecteditem.text())
        CATCH
            tablecurrent=0
        END TRY
        whichdataview.items.clear()
        FOR counter=0 TO tablecount-1
            whichdataview.items.add (counter)
        NEXT
        whichdataview.SelectedIndex = whichdataview.Items.IndexOf(whichdataview.Items.FindByValue("8"))
        tablecurrent=7
        MyDataGrid.DataSource = new DataView(ds.Tables(tablecurrent))
        MyDataGrid.DataBind()
        datafromURL.close
    END IF
END SUB

Function readURLstream(url As String) As StreamReader
      Dim objResponse As WebResponse
      Dim objRequest As WebRequest
      Dim result As String
      objRequest = System.Net.HttpWebRequest.Create(url)
      objResponse = objRequest.GetResponse()
      Dim sr As New StreamReader(objResponse.GetResponseStream())
      return sr
End Function
</script>

<html>
<body>

<h3>XML File Viewer</h3>
<form runat="server" >
<b>URL to Store:</b>&nbsp;<asp:textbox id="storeURL" columns="60" runat="server" /><br>
<asp:dropdownlist id="whichdataview" autopostback="true" EnableViewState="true" runat="server"/>
&nbsp;<asp:Button text="Load XML File" runat="server" />
<br>
<asp:literal id="testoutput" runat="server"/><br>
<ASP:DataGrid id="MyDataGrid" runat="server"
    BackColor="white" 
    BorderColor="black"
    ShowFooter="false" 
    CellPadding=3 
    CellSpacing="0"
    Font-Name="Verdana"
    Font-Size="8pt"
    Headerstyle-BackColor="lightblue"
    Headerstyle-Font-Size="10pt"
    Headerstyle-Font-Style="bold"
/>
</form>
</body>
</html>
Chaz Wish List
Tall Tip $5
Grande Tip $20
Venti Tip $39
Tip Jar Thanks
2004 Thanks
2005 Thanks
HUGE Tip -love site