exteNd Workbench 4.1
コアヘルプ

 

    First Previous Next Last チュートリアル : WEBサービスの操作  05/19/03 09:50:45 

レッスン 1    WebサービスのレジストリおよびWSDL

 
Top of page

学習する内容

このレッスンでは、Webサービスのオンラインレジストリを操作するためのWorkbenchツールについて説明します。 また、Webサービスを記述し、レジストリで公開できるファイルを作成するためにWSDLエディタを使用する方法を示します。

学習内容は次のとおりです。

 
Top of section

実行する内容

  1. パブリックレジストリのプロファイルを作成する

  2. ビジネスを検索する

  3. ビジネスのサービスを確認する

  4. Calculator WebサービスのWSDLファイルを作成する

  5. バインド要素を追加する

  6. サービス要素を追加する

  7. 様式化されたビューを変更する

  8. WSDLからJavaリモートインタフェースを生成する

所要時間   約20分

注記:   このレッスンでは、J2EEアプリケーションサーバを実行する必要はありません。

 
Top of page

Webサービスのレジストリ

Webサービスを公開する、または使用可能なWebサービスを検索する場合は、レジストリを使用します。 このレッスンでは、Registry Managerを使用してレジストリセットを認識する方法およびレジストリ内容を検索する方法を説明します。

 
Top of section

レジストリについて

Webサービスのレジストリは、Webサービスおよびその他のサービスに関する情報のリポジトリです。 ビジネスやそのサービスに関する情報の検索および公開をサポートします。

プロバイダはWebサービスの作成後、レジストリ内のサービスおよびビジネスに関する情報を公開できます。そうすると、将来のコンシューマは、サービスを見つけてどのように使用するか学習できます。 コンシューマはWebサービスを検索する際、レジストリをクエリしてニーズに合ったサービスおよびビジネスを検索し、それらのサービスの使用に関する情報を取得できます。

レジストリには、ビジネスやWebサービスに関する情報が、UDDI (Universal Description, Discovery and Integration)またはebXML (Electronic Business eXtensible Markup Language)などの標準化されたXMLベースの形式で保存されます。 通常、レジストリをホストするビジネスは、レジストリに公開したり、レジストリをクエリしたりするためのWebページまたはGUIインタフェースを提供します。 その他のツールでは標準のAPIを使用して、固有のインタフェースを表示できます。

 
Top of page

Workbenchでのレジストリの参照

Registry Managerは、ナビゲーションペインの[Registries]タブにあります。 上のパネルに登録されているビジネスが、下のパネルにサービスが表示されます。 1つまたは複数のレジストリからリストを表示することができます。

Registry Managerを使用するには、アクセスするレジストリのプロファイルを定義します(複数の主要なレジストリについては、すでに定義されています)。 そして、検索文字列を指定してビジネスまたはサービスを検索します。 入力した文字列で始まるビジネスまたはサービスがブラウザに表示されます。

 
Top of section

エクササイズ 1-1: パブリックレジストリのプロファイルを作成する

このエクササイズでは、Workbenchのインストール時に定義されるIBM Public Registryのプロファイルを扱います。

  1. Workbenchを開始します。 Windowsの[スタート]メニューからNovell exteNd Workbenchのショートカットを使用できます。

  2. メニューから[Edit]、[Profiles]の順に選択します。

  3. [Profiles]ダイアログボックスで[Registries]タブを選択します。

    tut1-1RegProfiles

  4. Profile name]ドロップダウンリストボックスから[IBM Public Registry]を選択します。

  5. Edit]ボタンをクリックして、プロファイルを確認します。 プロファイルには次の値が設定されています。

    オプション

    Profile name

    IBM Public Registry

    Registry type

    UDDI

    Inquiry URL

    http://www-3.ibm.com/services/uddi/inquiryapi

    Publish URL

    https://www-3.ibm.com/services/uddi/protect/publishapi

    User name Credential

    空白

    後からIBMのアカウントを作成する場合は、アカウント情報を入力してIBMレジストリに公開することができます。

    Include in Registry Search

    オンになっています。

    このチェックボックスをオフにすると、レジストリは検索されません。プロファイルを削除しなくても済みます。

  6. OK]をクリックして、[Edit a Registry Profile]ダイアログボックスを閉じます。

  7. (オプション)設定済みのその他のレジストリについて、プロファイルを確認します。

  8. OK]をクリックして、[Profiles]ダイアログボックスを閉じます。

 
Top of section

エクササイズ 1-2: ビジネスを検索する

このエクササイズでは、名前が「X」で始まる登録されたビジネスを検索します。

  1. ナビゲーションペインで、[Registries]タブを選択します。

    ペインには、BusinessおよびServiceの2つのサブペインがあります。

  2. [Business]テキストボックスにXという文字を入力し、テキストボックスの横にある曲がった青い矢印をクリックします。

    ヒント:   縦線(|)で区切ることにより、複数の検索語を入力できます。 たとえば、Xまた はWで始まるビジネスを検索するには、「X|W」と入力します。

    定義したレジストリがRegistry Managerにより検索されます。 検索にはしばらく時間がかかるため、そのままお待ちください。15秒から4、5分かかる場合があります。 赤い[Stop]ボタンをクリックすると検索は停止し、それまでの結果を確認できます。 ボタンが赤く表示されない場合、検索は終了しています。

    [Business]ペインに結果が表示されます。 展開可能なツリーで最初のレベルのノードがレジストリで、次のレベルがビジネス名です。

  3. リストをスクロールするか、トップレベルのノードを縮小して、結果を返したレジストリを確認します。 ペインは、見やすいように広げたり伸ばしたりできます。

  4. さまざまなビジネスのノードを展開して、提供された情報を確認します。

  5. XMethodsを見つけます。両方のレジストリにあり、ノードを展開するとその内容を確認できます。

    tut1-2BusinessSearch

 
Top of section

ビジネスに関する情報

レジストリの情報は、自動的に入力されます。 ビジネスではプロバイダが認識して欲しい情報が表示され、固有のカテゴリが選択されます。

レジストリの[Business]セクションには、次のタイプの情報が含まれます。

情報

アイコン

説明

ビジネス名

tut1-IconBusinessName

このレジストリで使用されるビジネス名。

説明

-

ビジネスを説明する短い文章。

カテゴリ

tut1-IconCategories

ビジネスが属すカテゴリ。

分類スキームには、業界に関するNAICSコード、製品およびサービスの分類であるUNSPSC、および地理的情報の少なくとも3つのソースがあります。

識別子

tut1-IconIdentifiers

DUNS番号などビジネスに関する情報。

サービス

tut1-IconServices

HTTPで呼び出し可能なWebサービスなどのビジネス、およびセールスおよびテクニカルサポートの連絡先情報などのその他のサービスにより提供されるサービスのリスト。

サービス名を選択すると、下のペインに詳細が表示されます。

ヒント:   [Advanced Search]オプションを使用して(双眼鏡のボタンをクリック)、他の検索 方法も試してください。 [Advanced Search]の詳細については、『Tools Guide』の「 Registry Manager」を参照してください。

 
Top of page

サービスに関する情報の確認

Webサービスは、レジストリでビジネスにより公開されるサービスのタイプのサブセットです。 ビジネスは、販売およびサポートの連絡先情報などのサービスだけでなく、プログラムされたWebサービスもリストに表示する場合があります。

 
Top of section

エクササイズ 1-3: ビジネスのサービスを確認する

このエクササイズでは、サービスに使用可能な情報、および使用可能な場合にサービスに対してWSDLファイルを取得する方法について学習します。

  1. Registry Managerの[Business]ペインで、XMethodsノードを見つけて展開し、サービスのリストを表示します。

  2. XMethods Barnes and Noble Quoteサービスをクリックします。

    Registry Managerによりサービスに関する情報が取得され、[Service]ペインに表示されます。

  3. [Service]ペインでノードを展開し、すべての情報を表示します。 多くの情報を1度に表示できるように、ペインのサイズを変更できます。

    tut1-3ServiceInfo

  4. このサービスを記述するWSDLファイルを取得するには、XMethods Book Quoteと表示されているtModelアイコンの行を選択します。

    tut1-3ServiceTModel

  5. [Service]テキストボックスの上にあるツールバーで、[Retrieve WSDL]アイコンをクリックします。

    tut1-3RetrieveWSDL

    WSDLエディタで、Book QuoteサービスのWSDLファイルが開きます。 WSDLエディタについては、 WSDLエディタの使用を参照してください。

    Book Quoteサービスの場合、「Overview URL」リンクをクリックしてブラウザでWSDLファイルを表示することもできます。 XMLを認識できるブラウザが必要です。

 
Top of section

サービスに関する情報

[Service]ペインでは、サービスの提供について技術的な詳細を表示できます。 プログラムによりアクセス可能なサービスの場合、その詳細にはサービスにアクセスするURLおよびサービスが提供するメソッドに関する情報が存在する場所が含まれます。

レジストリのサービスエントリには、次のタイプの情報が含まれます。

情報

アイコン

説明

サービス名

tut1-IconServiceName

サービスの名前。

ビジネス名

tut1-IconBusinessName

サービスを提供するビジネス。

説明

-

サービスを説明する短い文章。

バインド

tut1-IconBinding

サービスを呼び出すためのURL。

tModel

tut1-IconTModel

サービスを記述するデータ。

UDDIレジストリにより、データはname/valueの対のセットであるtModelとして保存されます。tModelノードの後に説明が存在する場合もあります。

概要のURL

-

tModelデータの使用方法を説明するドキュメントのURL。

Webサービスの場合、通常WSDLドキュメントです。

カテゴリ

tut1-IconCategories

サービスのカテゴリ。

カテゴリには、名前(たとえばuddi-org:types)および値(たとえばwsdlSpec)の2つの部分があります。 値wsdlSpecにより、WSDLドキュメントがサービスに使用可能であることが指定されます。 サービスの他のタイプでは、その他の分類スキームを使用できます。

ヒント:   サービスを検索する際、最初にビジネスを検索する必要はありません。 基本的な検索 ではサービス名が一致し、[Advanced Search](双眼鏡のボタン)を使用するとその他のサービ スデータが一致します。 詳細については、『Tools Guide』の「 Registry Manager」を参照してく ださい。

 
Top of page

WSDLエディタの使用

WSDLエディタは、WSDL要素を処理するための拡張機能を持つXMLエディタです。 通常は、レジストリから取得するWebサービスまたはWeb Serviceウィザードで生成されるWebサービスのWSDL定義を使用します。 しかし、WSDLファイルを編集する必要がある場合は、このエディタが便利です。

レッスン 2, Webサービスの作成では、Calculator Webサービスを作成します。 Web Serviceウィザードでサービスを記述するWSDLを生成できるため、最初から作成する必要はありません。 しかし、このレッスンでは最初から作成することにします。

 
Top of section

エクササイズ 1-4: Calculator WebサービスのWSDLファイルを作成する

このエクササイズでは、Calculator Webサービスを記述する新しいWSDLファイルを作成します。

  1. Workbenchで、メニューから[File]、[New]の順に選択します。

  2. [New File]ダイアログボックスで[Web Sercices]タブを選択し、[WSDL]を選択してから[OK]をクリックします。

    tut1-4NewFileWSDL

  3. WSDLウィザードで、次の情報を指定します。

    オプション

    Definition Name

    CalculatorService

    Target Namespace

    urn:CalculatorImpl

    Documentation

    The four basic arithmetic operations

    Include WSDL template

    オンにします。

    テンプレートを含めない場合、ウィザードによりファイルの名前に定義名が使用されます。ただし、その他のフィールドは無視され、新しいファイルは空白になります。

  4. Finish]をクリックします。

    WorkbenchによりWSDLエディタが起動され、編集ペインにWSDL Webサービス定義の初めの部分が表示されます。 この開いたテキストとWeb Serviceウィザードにより生成されたファイルを比較するとわずかな違いがありますが、何の影響もありません。

    tut1-4wsdleditornewfile

  5. 次のXMLテキストを選択し、エディタ内で空白行になっている定義の終了タグ</definitions>の上に貼り付けます。 4種類すべての算術演算子に対する要求と応答メッセージを定義するため、かなり長いテキストです。

    注記:   エディタのツールを使用して、メッセージおよびportType要素を挿入することもできます。 これらのツールについては、次の節で説明します。

       <types/>
       <message name="subtractRequest">
        <part name="arg0" type="xsd:double"/>
        <part name="arg1" type="xsd:double"/>
       </message>
       <message name="subtractResponse">
        <part name="arg2" type="xsd:double"/>
       </message>
       <message name="divideRequest">
        <part name="arg3" type="xsd:double"/>
        <part name="arg4" type="xsd:double"/>
       </message>
       <message name="divideResponse">
        <part name="arg5" type="xsd:double"/>
       </message>
       <message name="DivideFault">
        <part name="reason" type="xsd:string"/>
        <part name="x" type="xsd:double"/>
        <part name="y" type="xsd:double"/>
       </message>
       <message name="addRequest">
        <part name="arg6" type="xsd:double"/>
        <part name="arg7" type="xsd:double"/>
       </message>
       <message name="addResponse">
        <part name="arg8" type="xsd:double"/>
       </message>
       <message name="multiplyRequest">
        <part name="arg9" type="xsd:double"/>
        <part name="arg10" type="xsd:double"/>
       </message>
       <message name="multiplyResponse">
        <part name="arg11" type="xsd:double"/>
       </message>
       <portType name="CalculatorImplWS">
        <operation name="subtract">
         <input message="tns:subtractRequest"/>
         <output message="tns:subtractResponse"/>
        </operation>
        <operation name="divide">
         <input message="tns:divideRequest"/>
         <output message="tns:divideResponse"/>
         <fault message="tns:DivideFault" name="fault1"/>
        </operation>
        <operation name="add">
         <input message="tns:addRequest"/>
         <output message="tns:addResponse"/>
        </operation>
        <operation name="multiply">
         <input message="tns:multiplyRequest"/>
         <output message="tns:multiplyResponse"/>
        </operation>
       </portType>
    

 
Top of section

要素を挿入するためのツール

エディタには、トップレベルのWSDL要素の挿入を補助するダイアログボックスがあります。 エディタのWSDLには、バインドおよびサービスの2つの重要な要素が欠けています。 そのため、エディタツールを使用して追加します。

 
Top of section

エクササイズ 1-5: バインド要素を追加する

このエクササイズでは、メッセージングの処理方法を指定するバインド要素を追加します。

  1. ファイルの下にある編集ペインで、portTypeの終了タグとdefinitionsの終了タグの間にある空白行をクリックして、挿入場所を設定します。

      </portType>
      [ここが挿入箇所になります]
      </definitions>
    
  2. 右クリックでWSDLポップアップメニューを表示して[Insert WSDL Element]を選択し、二次メニューから[Binding]を選択します。

    tut1-5WSDLPopup

  3. [Binding]ダイアログボックスで、次の情報を指定します。

    オプション

    Name

    CalculatorBinding

    Documentation

    SOAP Binding for Calculator service

    Port Type

    CalculatorImplWS

    ヒント:   ドロップダウンリストボックスを使用して、ファイルで 定義するポートタイプを選択します。

    Binding Protocol

    SOAP Binding

    Style: rpc

    Transport: http://schemas.xmlsoap.org/soap/http

    入力を終えたダイアログボックスは、次のようになります。

    tut1-5WSDLBindingDlg

  4. OK]をクリックします。

    ファイルに挿入されたXMLには、portType要素で定義された各演算のバインド情報が含まれます。

 
Top of section

エクササイズ 1-6: サービス要素を追加する

このエクササイズでは、サービス要素を追加します。サービス要素により、配備されたWebサービスを呼び出すためにクライアントアプリケーションが使用するURLが指定されます。

  1. ファイルの下にある編集ペインで、bindingの終了タグとdefinitionsの終了タグの間にある空白行をクリックして、挿入場所を設定します。

      </binding>
      [ここが挿入箇所になります]
      </definitions>
    
  2. 右クリックでWSDLポップアップメニューを表示して[Insert WSDL Element]を選択し、二次メニューから[Service]を選択します。

    tut1-5WSDLPopupService

  3. [Service]ダイアログボックスで、次の情報を指定します。

    オプション

    Name

    CalculatorService

    Documentation

    URL for locally deployed Calculator Web Service

  4. Add]をクリックして、ポート情報を表す行を追加します。

  5. ポートを記述する値を次のように入力します。

    オプション

    Name

    CalculatorPort

    Binding

    CalculatorBinding

    ヒント:   ドロップダウンリストボックスを使用して、ファイルで 定義するバインドを選択します。

    Address Type

    SOAP

    ヒント:   ドロップダウンリストボックスを使用して、タイプを選 択します。

    Location

    http://localhost/ProverbsCloud/Calculator/CalculatorImpl

    注記:   Webサービスが配備される場所のURLです。 このレッスンでは、このサンプルURLを使用します。実際のURLはまだ必要ありません。

    入力を終えたダイアログボックスは、次のようになります。

    tut1-5WSDLServiceDlg

  6. OK]をクリックします。

    次のXMLがファイルに挿入されます。

      <service name="CalculatorService">
       <documentation>
        URL for locally deployed Calculator Web Service
       </documentation>
       <port name="CalculatorPort" binding="CalculatorBinding">
        <soap:address
         location="http://localhost/ProverbsCloud/Calculator/CalculatorImpl"/>
       </port>
      </service>
    

このレッスンの後の部分では、WSDLエディタのその他の機能の使用方法について説明します。

 
Top of section

様式化されたビュー

WSDLエディタには、WSDLドキュメントに記述されているXMLの内容をレポート形式で表示する2番目のペインがあります。 XMLスタイルシートを使用して、内容やレイアウトをカスタマイズすることができます。 この様式化されたビューで編集することはできません。

 
Top of section

エクササイズ 1-7: 様式化されたビューを変更する

このエクササイズでは、提供されたビューを表示して、カスタムビューを追加できる場所を見つけます。

  1. 編集ペインでWSDLファイルを開き、ペインの下にある[Stylized]タブをクリックします。

    tut1-7WSDLEditorTabs

    WSDLの形式が詳細なビューに変わり、情報が比較的読みやすい形式で表示されます。

    tut1-7StylizedView

  2. 編集する領域を右クリックして、ポップアップメニューから[Stylesheets]、二次メニューから[Summary]を選択します。

    tut1-7WSDLStylizedPopup

    別の形式のビューが表示されます。

  3. 編集する領域を再び右クリックして、ポップアップメニューから[Stylesheets]、二次メニューから[Custom]を選択します。

    [Select Style Sheet]ダイアログボックスで、デフォルトのスタイルシートである「Details」、「Summary」、またはカスタムスタイルシートを選択できます。 独自のXSLスタイルシートを作成すると、別の形式で情報を表示することができます。

    tut1-7WSDLStyleSheetDlg

  4. Cancel]をクリックして、ダイアログボックスを閉じます。

  5. XML]タブをクリックして、編集可能なビューに戻ります。

  6. c:\WorkbenchProjectsなど、任意のディレクトリにファイルを保存します。 ファイル名は、CalculatorService.wsdlです。 ファイルを閉じます。

 
Top of section

WSDLエディタツールバー

WSDLエディタを開くと、メインツールバーに複数のボタンが追加されます。

tut1-7WSDLToolbar

次のような機能があります。

次のエクササイズでは、WSDLからJavaクラスを生成する方法について説明します。

 
Top of section

エクササイズ 1-8: WSDLからJavaリモートインタフェースを生成する

このエクササイズでは、WSDLの仕様からリモートインタフェースクラスおよびその他のWebサービスクラスを作成します。 生成中のJavaファイルを使用して、新しいWebサービスまたはクライアントアプリケーションを作成できます。

注記:   このエクササイズでは、開いているプロジェクトが必要です。 コードの生成のみに使用するため、任意のプロジェクトを使用できます。 プロジェクトがすでに開いており、そこからファイルを生成する場合は、 Step 7から始めてください。

  1. Workbenchで、開いているプロジェクトを閉じ、メニューから[File]、[New Project]の順に選択します。

  2. New Projectウィザードで、[JAR]を選択してから[OK]をクリックします。

    tut1-8NewProjWiz

  3. [Project Name]フィールドに、CalcWSDLTestと入力します。

  4. Project Location]フィールドの横にある省略記号(...)をクリックして、Workbenchプロジェクトを配置するディレクトリを選択し、CalcWSDLなど新しいディレクトリ名を入力します。 [Project Location]フィールドには、次のような値が表示されます。

      C:\WorkbenchProjects\CalcWSDL
    

    ダイアログボックスの残りの部分は、自動的に入力されます。

    tut1-8NewProject

  5. Next]をクリックします。 プロジェクトの場所に対して入力したディレクトリが存在しない場合は、表示されたメッセージを確認して作成します。

  6. 最後のパネルで、プロジェクトの詳細を確認してから[Finish]をクリックします。

  7. File]、[Recent Files]の順に選択し、再び[CalculatorService.wsdl]を開きます。

  8. WSDLツールバーで、[Generate Java Class]ボタンをクリックします。

    tut1-8WSDLToolbarJava

    Workbenchに、Web Serviceウィザードのプロジェクトの場所を指定するパネルが表示されます。

  9. パネルに次のように入力します。 指定が必要な値は、[Package]のcalcのみです。

    tut1-8WSWProjLoc

    Next]をクリックすると、WorkbenchにWeb Serviceウィザードのクラス生成およびSOAPオプション用パネルが表示されます。

  10. このパネルの設定を確認します(変更する必要はありません)。

    tut1-8GenerateJavaClass

    この設定に従って、ウィザードによりWebサービスクライアントのスタブクラスが生成されます。 生成されたファイルはsrc\calcディレクトリに配置され、プロジェクトに追加されます。 これらのオプションの詳細については、 レッスン 2, Webサービスの作成および レッスン 3, Webサービスのクライアントアプリケーションの作成を参照してください。

  11. Finish]をクリックします。

    ウィザードで出力の生成が終了すると、プロジェクトのルートディレクトリの下のsrc\calcディレクトリに生成されたファイルが表示されます。

通常は、クライアントアプリケーションに対し(リモートインタフェースおよび関連クラスを含めて)スタブを生成する場合、WSDLファイルから開始します。 ただし、骨組みを生成すれば、Webサービスの作成を始めるのに必要なすべてのものが得られます。 必要な別のコードは、Webサービスメソッドのビジネス論理とのリモートインタフェースを実装するクラスです。

 
Top of section

公開について

Workbenchには、サービスに関する情報を公開する機能もあります。

ほとんどのレジストリでは、公開する前にアカウントを設定する必要があります。 レジストリのプロファイルには、公開するURL、ID、およびパスワードを保存できます。

ヒント:   公開するには、編集ペインでサービスを記述するWSDLファイルを開きます。 WSDL エディタのツールバーに、[Publish to Registry]ボタンがあります。 表示されるダイアログ ボックスで、レジストリ、ビジネス名、およびサービスURLを指定できます。 詳細については、 『Tools Guide』の「 Registry Manager」を参照してください。

tut1-9WSDLPublish

 
Top of page

実行した内容のまとめ

Workbenchツールの使用   Workbenchで、次のツールを使用しました。

次のレッスン   次のレッスンでは、Web Serviceウィザードについて学習します。 プロジェクトを作成し、Calculator Webサービスのコードを開発します。

    First Previous Next Last チュートリアル : WEBサービスの操作  05/19/03 09:50:45 

Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.