ASP.NET 徹底活用術(Part2)のホームへ戻る

AWS(Amazon Web Services)のクラスを作成

 

アマゾンのWebサービス(AWS)は、REST(REpresentation State Transfer)SOAP(Simple Object Access Protocol)のいずれかを利用することができますが、ここではSOAPを利用することにします。SOAP経由でAWSを利用するには、WSDL(Web Services Description Language)からプロキシクラスを生成してコンパイルします。今回は、書籍をジャンル、キーワード、タイトル、著者名、ISBNなどで検索する専用のクラス(AmazonJP)を作成して、WebページからはAmazonJPクラスがサポートしている各種メソッドを利用して書籍を検索することにします。

 

AWSのプロキシクラスを作成する

 

WSDLからプロキシクラスを作成する手順を説明します。

 

IISの仮想ディレクトリ直下に新規サブフォルダ作成

 

IISの仮想ディレクトリに新規フォルダ(aws)を作成します。

 

awsフォルダにWSDLを保存する

 

ブラウザ(IE)を起動したら、次のURLを入力してamazon.co.jp用のWSDLを表示します。ブラウザの[表示]メニューから[ソース]を選択してWSDLのソースを表示します。

 

http://webservices.amazon.com/AWSECommerceService/JP/AWSECommerceService.wsdl

 

メモ帳にWSDLのソースが表示されたら、メモ帳の[ファイル]メニューから[名前を付けて保存]を選択してawsフォルダに「AWSECommerceService.wsdl」の名称で保存(※)します。

 

※「名前を付けて保存」のダイアログが表示されたら、「ファイルの種類」から[すべてのファイル]を選択します。

 

③プロキシクラス生成

 

wsdl.exeを起動(※)してWSDLからプロキシクラス「AWSEcommerceService.vb」を生成します。

 

wsdl.exe" /language:vb AWSECommerceService.wsdl

 

wsdl.exeのパスが設定されていないときは、Windowsの検索からwsdl.exeを検索してパスを指定してください。

 

④プロキシクラスを編集

 

プロキシクラスをメモ帳などのエディタで開いたら、名前空間Namespace AmazonServices…End Namespaceを追加します。

 

Imports System

Namespace AmazonServices

  ・・・

Public Class AWSECommerceService

・・・

  End Class

End Namespace

 

 

AmazonJPクラスを作成する

 

アマゾンの書籍を検索するためのクラスを作成する手順を説明します。

 

Amazon.vbクラスを作成

 

メモ帳またはエディタを起動したら、次にようなコードを入力してawsフォルダに「Amazon.vb」の名前で保存します。

 

※定数SubscriptionIdに宣言されているサブスクリプションIDは、アマゾンのWebサービスのサイトから取得したものと置換してください。

 

Imports System.Data

Namespace AmazonServices

  Public Class AmazonJP

    Private Const SubscriptionId As String = "082Y49Q2WZZTJHHBN782" ' <-- 要書き換え

    Public Shared Function SearchBookByISBN(ByVal isbn As String) As DataView

      ・・・

    End Function

   Public Shared Function SearchBooksByNode(ByVal CategoryId As String) As DataView

    ・・・

    End Function

    Public Shared Function SearchBooks(ByVal Author As String, _

      ByVal Title As String, ByVal Keywords As String, _

      ByVal PowerSearch As String) As DataView

      ・・・

    End Function

  End Class

End Namespace

 

②コンパイル

 

vbc.exeを起動(※)してAWSECommerceService.vbAmazon.vbをコンパイルします。コンパイルが完了するとアッセンブリ(AmazonServices.dll)が生成されますので、IISの仮想ディレクトリ直下のbinフォルダにコピーします。

 

vbc.exe /t:library /r:System.dll,System.Web.Services.dll,System.Xml.dll,System.Data.dll /out:AmazonServices.dll  AWSECommerceService.vb Amazon.vb

 

vbc.exeのパスが設定されていないときは、Windowsの検索からvbc.exeを検索してパスを指定してください。

 

ASP.NET 徹底活用術(Part2)のホームへ戻る